0
有下面的代碼iFrame內容的加載和onload事件
<iframe id="myframe" src="..."></iframe>
<script>
document.getElementById('myframe').onload = function() {
alert('myframe is loaded');
};
</script>
我是正確的iframe
內容是由一個額外的線程加載所以有可能是一個競爭條件? iframe
內容是否可能在腳本中的事件處理程序(在主線程中運行)之前加載,導致alert
更新顯示?
不,你是不正確的。你爲什麼認爲這種方式有效?你研究過了嗎?你在'top'中得到了一個執行JS的線程。加載'iframe'後的父頁面加載事件(以及鏈接的JS文件,CSS,圖像等其他內容)。見JS小提琴:https://jsfiddle.net/66xe7j1z/ – nothingisnecessary
可能重複的[確切何時IFRAME onload事件觸發?](https://stackoverflow.com/questions/815263/exactly-when-does-an- iframe-onload-event-fire) – nothingisnecessary
那麼可以保證腳本始終在iframe加載事件發生之前執行? – Mulligun81