2017-12-30 27 views
0

Ich entwickle einen Web-basierten Videokanal, wo ich Mailing-Funktionalität hinzufügen muss. Ich habe eine Mail-Taste hinzugefügt, die ganze Funktionalität funktioniert gut, aber es dauert länger, die Seite zu laden. Ich habe mail.php in die video.php Seite eingeschlossen. Ganze Seite warten bis mail.php ist enthalten. Daher braucht es mehr Zeit.Wie lade ich die PHP-Seite nach dem Laden aller anderen Inhalte der Seite

Hinweis meine Anwendung ist in PHP Codeigniter entwickelt. mail.php enthalten einige js-Datei, Ajax-Aufruf und HTML-Formular.

Kann ich etwas tun, um zuerst den gesamten Seiteninhalt zu laden, dann lade die mail.php im Hintergrund.

hier, was ich versuchte ...

video.php

<script>jQuery("#mail_btn").click(function()jQuery("#div1").load(mail.php);});</script> 
<div id="div1" class ="mail_form"> 
//include_once(mail.php); //it was working fine but it takes time,i want to load mail form here. 
</div> 

mir bitte helfen oder eine alternative Art und Weise vor. Dank ..

+1

sollten Sie mehr Code zeigen. – halojoy

+1

Es ist unmöglich zu sagen, ohne Code angezeigt, aber Code von Jquery zu laden scheint nicht eine gute Möglichkeit zu erreichen, was Sie wollen. Sie sollten herausfinden, warum der PHP-Code zu langsam ist und danach geeignete Aktionen ausführen. – bestprogrammerintheworld

+0

Das Ausführen von 'include_once' benötigt normalerweise keine Zeit - haben Sie versucht, Ihren Code zu debuggen, um zu sehen, welche Teile für das Laden der Leistung entscheidend sind? –

Antwort

0

Ich glaube, Sie Ob_start und ob_end_flush sind diejenigen, Funktion können Sie die Seite Ausgabe Laden und Anzeigen Sie in der Bedienungsanleitung steuern hier php manual

1

Ich würde http://jquery.eisbehr.de/lazy/ die jQuery faul Last-Plugin hinzufügen. Ich habe unten ein Snippet hinzugefügt, aber es gibt bessere Beispiele auf der Plugin-Seite.

$(function() { 
 
    $("div[data-src]").Lazy(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.lazy/1.7.1/jquery.lazy.min.js"></script> 
 
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.lazy/1.7.1/plugins/jquery.lazy.ajax.min.js"></script> 
 

 
<div data-loader="ajax" data-src="ajax.html"> 
 
    <p>Content you want to load later goes here.</p> 
 
</div>

+0

dafür muss ich mehr Bibliothek laden, bedeutet es dauert mehr Zeit zu laufen – Alok

+0

Ja, Sie müssten das jQuery-Plugin laden, aber es ist sehr leicht. – Darren

Verwandte Themen