2017-09-06 45 views
0

有下面的代碼分配負載事件的iframe

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

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

我說得對iframe要加載到單獨的線程,因此它可能是警告可能不會觸發因爲之前我們指定的onload iframe中的內容可以加載運行主線程的腳本中的事件處理程序?

回答

0

你也可以這樣使用它。 iframe加載在主線程/進程中,而不是單獨的一個。一旦它被加載,你的警報就會出現。

<iframe id="myframe" src="..." onload="javascript:alert('myframe is loaded');"></iframe> 
+0

如果我把它的權利,iframe標記加載在同一主線程與網站的標記順序,而iframe的內容是獨立加載和異步在一個額外的線程? – Mulligun81

+0

不,請檢查iframe的經典行爲。 http://www.aaronpeters.nl/blog/iframe-loading-techniques-performance現在,像chrome這樣的新瀏覽器已經改進了加載iframe內容的實現。所以,你需要單獨搜索當前的瀏覽器實現。 – Amit

+0

我現在很困惑。有兩個類似的問題:[q1] https://stackoverflow.com/questions/46341015/iframe-loading-and-the-main-site和[q2] https://stackoverflow.com/questions/45978160/iframe-內容加載過程。在第一個中,用戶_Sudeep nayak_答案明確指出iframe被加載到分離線程中。而且在q2中_Yingrjimsch's_答案也表明iframe被加載到分離線程中。那麼最終的答案是什麼? – Mulligun81