Maison > Article > interface Web > Pourquoi jQuery .ready se déclenche-t-il prématurément dans les iFrames insérés dynamiquement ?
iFrames insérés dynamiquement et événement jQuery .ready
Lorsque vous utilisez le plugin Thickbox de jQuery pour afficher dynamiquement une iframe contenant la bibliothèque JavaScript Galleria, vous peut rencontrer un problème où l'événement $(document).ready se déclenche prématurément dans l'iframe, entraînant une application incorrecte du code Galleria.
Cause première
Le $( document).ready s'appuie sur l'état prêt du document parent pour déterminer l'état de préparation de l'iframe. Cependant, dans les iFrames insérés dynamiquement, l'état prêt du parent peut indiquer que l'iFrame est prêt même si le contenu de l'iFrame lui-même n'est pas encore chargé.
Solution alternative
A une approche plus fiable consiste à se lier au propre événement de chargement de l'iframe. Cela garantit que votre code ne s'exécutera que lorsque le contenu de l'iframe aura fini de se charger.
Extrait de code
function callIframe(url, callback) { $(document.body).append('<IFRAME>
En utilisant l'événement de chargement, vous pouvez contrôler le timing de l'exécution de votre code plus précisément et évitez une exécution prématurée dans des iFrames insérés dynamiquement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!