Funktion nach vollständigem Laden der Seite ausführen

Ich verwende folgenden Code, um einige Anweisungen nach dem Laden der Seite auszuführen.

 <script type="text/javascript">
    window.onload = function () { 

        newInvite();
        document.ag.src="b.jpg";
    }
</script>

Aber dieser Code funktioniert nicht richtig. Die Funktion wird aufgerufen, auch wenn einige Bilder oder Elemente geladen werden. Was ich möchte, ist, die Funktion aufzurufen, wenn die Seite vollständig geladen ist.

Dies könnte für Sie von Nutzen sein:

document.addEventListener('DOMContentLoaded', function() {
   // your code here
}, false);

oder wenn Sie mit jquery vertraut sind,

$(document).ready(function(){
// your code
});

$(document).ready()` wird bei DOMContentLoaded ausgelöst, aber dieses Ereignis wird nicht konsistent zwischen den Browsern ausgelöst. Aus diesem Grund wird jQuery höchstwahrscheinlich einige schwere Workarounds implementieren, um alle Browser zu unterstützen. Und das wird es sehr schwierig machen, das Verhalten mit einfachem Javascript zu simulieren (aber natürlich nicht unmöglich).

Wie Jeffrey Sweeney und J Torres vorgeschlagen haben, denke ich, dass es besser ist, eine setTimeout Funktion zu haben, bevor man die Funktion wie unten abfeuert:

setTimeout(function(){
 //your code here
}, 3000);
Kommentare (11)

Wenn Sie jQuery verwenden können, sehen Sie sich load an. Sie könnten dann Ihre Funktion so einstellen, dass sie ausgeführt wird, nachdem Ihr Element das Laden beendet hat.

Nehmen wir zum Beispiel eine Seite mit einem einfachen Bild:

![Book](book.png)

Der Event-Handler kann an das Bild gebunden werden:

$('#book').load(function() {
  // Handler for .load() called.
});

Wenn alle Elemente im aktuellen Fenster geladen werden sollen, können Sie

$(window).load(function () {
  // run code
});
Kommentare (6)

Versuchen Sie dies jQuery:

$(function() {
 // Handler for .ready() called.
});
Kommentare (1)