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 :
$(iFrameObj).load(function() {
document.body.removeChild(iFrameObj);
setTimeout(function() {
callback(iFrameObj.innerHTML);
}, 50);
});
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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3