Exécuter un rappel une fois le chargement IFRAME terminé
Lorsque vous travaillez avec des IFRAME, exécuter un rappel une fois le processus de chargement terminé peut être une exigence cruciale . Cependant, cette tâche peut devenir difficile, surtout si vous n'avez pas de contrôle sur le contenu de l'IFRAME.
Pour résoudre ce problème, vous pouvez utiliser des techniques qui impliquent de modifier la création de l'IFRAME et d'incorporer un mécanisme de délai d'attente. En créant l'IFRAME par programme, vous avez la possibilité d'y ajouter un écouteur d'événement. Le code suivant montre comment y parvenir :
<code class="javascript">$(iFrameObj).load(function() { document.body.removeChild(iFrameObj); setTimeout(function() { callback(iFrameObj.innerHTML); }, 50); });</code>
Comme démontré dans cet extrait de code, l'écouteur d'événement « load » est attaché à l'IFRAME après sa création. Une fois le chargement terminé, l'IFRAME est supprimé du DOM et un court délai d'attente est introduit pour garantir que le rappel est exécuté une fois que l'IFRAME n'est plus présent. Ce tampon de délai d'attente tient compte des divergences potentielles dans le comportement du navigateur.
Il convient de noter que cette méthode suppose que l'URL de l'IFRAME se trouve dans votre domaine. S'il s'agit d'une demande intersite, l'accès au contenu de l'IFRAME sera restreint en raison des mesures de sécurité du navigateur, et des approches alternatives peuvent être nécessaires.
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!