Heim >Web-Frontend >js-Tutorial >So lösen Sie das langsame Laden von JS iFrame
In Projekten ist es oft notwendig, Iframes dynamisch hinzuzufügen und dann entsprechende Vorgänge an den hinzugefügten Iframes durchzuführen. Wie kann man das Problem manchmal lösen? Lassen Sie uns diesen Artikel mit dieser Frage im Hinterkopf durchgehen und die Antwort finden!
aaa.html
<HTML> <HEAD> <TITLE>aaa</TITLE> </HEAD> <BODY> <IFRAME src="bbb.html" name=bbb width="100%" height="190"> </IFRAME> <INPUT type="button" value="显示text控件值" onclick="alert(bbb.document.all.txt.value)"> <SCRIPT LANGUAGE="JavaScript"> alert(bbb.document.all.txt.value); </SCRIPT> </BODY> </HTML>
bbb.html
<HTML> <HEAD> <TITLE>bbb</TITLE> </HEAD> <BODY> <input type=text name=txt value="guoguo"> </BODY> </HTML>
Problem:
Führen Sie die obige aaa.html aus, um den Wert von zu ermitteln Alarmcode direkt Es wird nicht ausgedruckt, aber sein Wert kann durch Klicken auf die Schaltfläche ausgedruckt werden.
Analyse:
Wenn die Seite geladen wird und auf einen Iframe stößt, springt sie direkt dorthin, lädt den folgenden Inhalt und kommt dann zurück, um den Iframe zu laden. Es kann auch so verstanden werden, dass ein weiterer Thread geöffnet wird, wenn er auf den Iframe stößt, um den Iframe zu laden. Da es sich jedoch um neue E / A-Vorgänge handelt, die zeitaufwändig sind, erfolgt das Laden des Iframes immer noch später als die Ausführung des JS-Codes unten auf der Seite, daher tritt das obige Problem auf.
Lösung:
Fügen Sie eine Verzögerung im js-Code hinzu (die spezifische Verzögerungszeit kann durch persönliche Erfahrung bestimmt werden), damit die Objekte im Iframe normal abgerufen werden können.
<SCRIPT LANGUAGE="JavaScript"> setTimeout("alert(bbb.document.all.txt.value)",1500); </SCRIPT>
Schlussfolgerung: Wenn eine Seite einen Iframe enthält und wir die Objekte im Iframe über js bedienen möchten, müssen wir vor dem Betrieb warten, bis der Iframe geladen ist, sonst erhalten wir nicht das gewünschte Objekt . .
Das Obige ist die vom Herausgeber eingeführte Lösung für das langsame Laden von JS iFrame. Gleichzeitig bin ich sehr dankbar für Ihre Unterstützung der chinesischen PHP-Website.
Weitere verwandte Artikel zur Behebung des langsamen Ladens von JS iFrame finden Sie auf der chinesischen PHP-Website!