2017-08-29 11 views
0

Ayant code suivantIframe chargement de contenu et d'événements onload

<iframe id="myframe" src="..."></iframe> 

<script> 
document.getElementById('myframe').onload = function() { 
    alert('myframe is loaded'); 
}; 
</script> 

Ai-je raison que le contenu iframe est chargé par un fil supplémentaire afin qu'il peut y avoir une condition de course? Est-il possible que le contenu iframe soit chargé avant le gestionnaire d'événements dans le script (s'exécutant dans le thread principal) entraînant le alert plus nouveau spectacle?

+1

Non, vous n'êtes pas droit. Pourquoi penseriez-vous que cela fonctionne de cette façon? Avez-vous fait des recherches? Vous obtenez un thread d'exécution pour JS dans 'top'. Charger l'événement pour les incendies de page parents après que le 'iframe' est chargé (et d'autres choses comme les fichiers JS liés, CSS, images). Voir JS Fiddle: https://jsfiddle.net/66xe7j1z/ – nothingisnecessary

+0

Copie possible de [Exactement quand un événement IFRAME onload se déclenche?] (Https://stackoverflow.com/questions/815263/exactly-when-does-an- iframe-onload-event-fire) – nothingisnecessary

+0

Est-il garanti que le script est toujours exécuté avant que l'événement iframe load ne se produise? – Mulligun81

Répondre

0


 

 
    function iframeDidLoad(){ 
 
     alert("Hello World"); 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<iframe id="myiframe" src="#" onLoad="iframeDidLoad();"></iframe>