Dans les projets, il est souvent nécessaire d'ajouter dynamiquement des iframes, puis d'effectuer des opérations associées sur les iframes ajoutées. Parfois, pourquoi l'iframe se charge-t-elle lentement ? Étudions cet article en gardant cette question à l’esprit et trouvons la réponse !
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>
Problème :
Exécutez le aaa.html ci-dessus pour trouver la valeur du code d'alerte directement. Il n'est pas imprimé, mais sa valeur peut être imprimée en cliquant sur le bouton.
Analyse :
Lors du chargement de la page, si elle rencontre une iframe, elle y accédera directement, chargera le contenu suivant, puis reviendra charger l'iframe. Bien sûr, cela peut également être compris comme l'ouverture d'un autre thread lorsqu'il rencontre l'iframe pour charger l'iframe, mais comme cela implique de nouvelles opérations d'E/S qui prennent du temps, le chargement de l'iframe est encore plus tardif que l'exécution du code js au niveau. en bas de la page, le problème ci-dessus se produit donc.
Solution :
Ajoutez un délai dans le code js (le délai spécifique peut être déterminé par expérience personnelle), afin que les objets dans l'iframe puissent être obtenus normalement.
<SCRIPT LANGUAGE="JavaScript"> setTimeout("alert(bbb.document.all.txt.value)",1500); </SCRIPT>
Conclusion : Lorsqu'une page contient une iframe, si on veut faire fonctionner les objets dans l'iframe via js, il faut attendre que l'iframe soit chargée avant d'opérer, sinon on n'obtiendra pas l'objet souhaité .
Ce qui précède est la solution au chargement lent de JS iFrame introduite par l'éditeur. J'espère que cela vous sera utile. En même temps, je suis très reconnaissant pour votre soutien au site Web PHP chinois !
Pour plus d'articles sur la façon de résoudre le chargement lent de JS iFrame, veuillez faire attention au site Web PHP chinois !