Empfohlenes Lesen:
So lösen Sie das Problem des langsamen Ladens von JS Iframe
Im Projekt müssen Sie häufig iFrames dynamisch hinzufügen und dann verwandte Vorgänge auf den hinzugefügten IFrames ausführen. Oft wurde der nachfolgende Code ausgeführt, bevor der Iframe hinzugefügt wird, sodass einige Dinge, die Sie schreiben, überhaupt nicht angezeigt werden. Zu diesem Zeitpunkt müssen wir überlegen, ob wir warten können, bis der Iframe vor dem Ausführen der nachfolgenden Operationen geladen ist. Natürlich haben verschiedene Browser es für uns schon lange in Betracht gezogen, siehe unten:
dh Browser
Jeder Elem -Knoten im IE hat ein OnreadyStatEchange -Event. Dieses Ereignis wird jedes Mal ausgelöst, wenn der ELEM -Inhalt zur Änderung gesendet wird. Beispielsweise wird der Inhalt nach dem Laden des Inhalts geladen und geladen. Der Inhalt wird erfolgreich geladen wird ausgelöst. Diese Funktion muss auch mit ReadyState koordiniert werden. Dies ist eine Eigenschaft, die jedes Elem im IE gehört, um den Status jedes Auslösers anzuzeigen.
// Fügen Sie zuerst einen OnReadyStatechangeIframe hinzu. "geladen") {// Der Code kann hier ausgeführt werden, und es bedeutet, dass das Laden erfolgreich abgeschlossen wurde // Das Ereignis iframe.detACHEvent ("onreadyStatechange", Argumente.Callee); // Dies ist die Rückruffunktion}});Andere Browser (Firefox, Oper, Chrom usw.)
Bei anderen Nicht-IE-Browsern haben Firefox, Opera, Chrome und andere IFRames ein Onload-Ereignis. Solange dieses Ereignis ausgelöst wird, bedeutet dies, dass der Namensinhalt geladen wurde.
Iframe.AdDeVentListener ("Load", function () {// Der Code kann hier ausgeführt werden und bedeutet, dass die Last erfolgreich abgeschlossen wurde. this.removeVentListener ("last", argumente.call, false); // Dies ist die Rückruffunktion}, false);Lassen Sie uns zusammenfassen
if (iframe.attachEvent) {iframe.attachEvent ("onReadyStatechange", function () {// Dieses Ereignis wird auch ausgelöst, wenn der Inhalt nicht geladen ist. Wir müssen also den Staat beurteilen // Manchmal ist es vervollständigt und es wird vervollständigt. "loaded") {//The code can be executed here and it means that the loading has been completed successfully//The event iframe.detachEvent("onreadystatechange", arguments.callee);//This is the callback function}});}else{iframe.addEventListener("load", function() {//The code can be executed here and it means that the load has been erfolgreich abgeschlossen.Hinweis: Die obige Funktion muss platziert werden, nachdem der Iframe an den Körper angehängt ist, sonst wird sie nicht ausgelöst.
Der obige Inhalt ist die Methode von JS, um festzustellen, ob ein Iframe vom Editor erfolgreich geladen wird. Ich hoffe, es wird für alle hilfreich sein!