Maison  >  Article  >  interface Web  >  Comment déterminer si un iFrame est chargé et contient du contenu ?

Comment déterminer si un iFrame est chargé et contient du contenu ?

DDD
DDDoriginal
2024-10-24 20:06:02811parcourir

How to Determine if an iFrame Has Loaded and Contains Content?

Comment déterminer la charge iFrame ou la présence de contenu

Problème :

Vous cherchez une méthode pour vérifier si un iFrame a été chargé avec succès ou contient du contenu, car les approches standard peuvent ne pas suffire. La détermination de l'état chargé est cruciale pour déclencher des actions spécifiques ou gérer des scénarios où le chargement prend un temps excessif.

Solution :

Pour résoudre efficacement ce problème, envisagez l'approche suivante :

<script><br>fonction checkIframeLoaded() {</p>
<pre class="brush:php;toolbar:false">// Obtain the iFrame element
var iframe = document.getElementById('i_frame');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

// Evaluate loading status
if (  iframeDoc.readyState  == 'complete' ) {
    // Loading is completed; execute desired functionality
    afterLoading();
    return;
} 

// Loading is incomplete; re-check in 100 milliseconds
window.setTimeout(checkIframeLoaded, 100);

}

fonction afterLoading(){

alert("I am here");

}


Ce script fonctionne comme suit :

  1. Obtenir l'élément iFrame : Le script localise l'élément iFrame par son ID.
  2. Vérifier l'état de chargement : Il examine la propriété readyState de l'iFrame. Lorsqu'il est défini sur « complete », il indique que le chargement est terminé et déclenche la fonction afterLoading().
  3. Vérification récursive : Si le chargement n'est pas terminé, le script attend 100 millisecondes avant de re- évaluer l'état de l'iFrame. Cette approche récursive garantit que le script vérifie périodiquement jusqu'à ce que le chargement soit terminé.
  4. Exécuter la fonction personnalisée :Une fois terminée, la fonction afterLoading() peut être utilisée pour effectuer toutes les actions souhaitées, telles que afficher une notification ou traiter davantage le contenu chargé.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn