En el proyecto, a menudo necesita agregar dinámicamente iFrames y luego realizar operaciones relacionadas en los iframes agregados. ¿A veces encontrarás la razón por la cual el iframe se carga muy lentamente y cómo resolverlo? ¡Aprendamos este artículo con esta pregunta y encontremos las respuestas!
aaa.html
<html> <fead> <title> aaa </title> </head> <body> <iframe src = "bbb.html" name = bbb> </ iframe> <input type = "button" value = "Mostrar valor de control de texto" en aler Lenguaje = "javascript"> alerta (bbb.document.all.txt.value); </script> </body> </html>
bbb.html
<html> <fead> <title> bb </title> </head> <body> <input type = text name = txt value = "guoguo"> </body> </html>
pregunta:
Ejecute el aaa.html arriba y encuentre que el código directamente no se ha escrito, pero hacer clic en el botón puede producir su valor.
analizar:
Cuando la página se carga, cuando encuentre un iframe, saltará sobre ella, cargará el siguiente contenido y luego volverá para cargar el iframe. Por supuesto, también se puede entender que cuando se encuentra con un iframe, abre un hilo para cargar el iframe. Sin embargo, debido a que lleva mucho tiempo involucrar nuevas operaciones de IO, la carga del iframe es aún más tarde que la ejecución del código JS en la parte inferior de la página, por lo que ocurre el problema anterior.
Solución:
Agregue un retraso en el código JS (el retraso específico puede basarse en la experiencia personal), para que pueda asegurarse de que los objetos en el nombre se obtengan normalmente.
<Script language = "javascript"> setTimeOut ("alerta (bbb.document.all.txt.value)", 1500); </script>Conclusión: cuando se incluye un iframe en una página, si queremos operar el objeto en el Iframe a través de JS, debemos esperar hasta que se cargue el iframe antes de operar, de lo contrario no obtendremos el objeto deseado.
Lo anterior es la solución para la carga lenta de JS iframe introducido por el editor. Espero que te sea útil. Al mismo tiempo, me gustaría agradecerle mucho por su apoyo al sitio web de Wulin.com.