2017-05-03 155 views
1

我有以下的JavaScript代碼框架完全加載之前的iframe的onload事件觸發加載

frame.onload = function() 
{ 
    // Get element 
} 
frame.src = url //url is an external and I don't have control over it 

但這裏frame.onload事件觸發。如果我在5秒後設置了超時時間,我可以獲得需要的元素。 那麼如何等待幀完全加載?

+0

使用回調,像這樣的回答:http://stackoverflow.com/a/209723/640263 –

+0

@ toggy-TOG-託格怎麼樣? –

+0

@ toggy-tog-togs他正在使用回調。 – Barmar

回答

0

我認爲您需要使用iframe中包含的文檔的load事件,而不是iframe本身。

frame.onload = function() { 
    frame.contentDocument.onload = function() { 
     // Get element 
    }; 
}; 
frame.src = url; 
+0

謝謝@Barmar,但是這個事件根本不會觸發。 –

+0

嘗試我的更新答案,它在最初加載iframe之前不會設置內容文檔的加載事件。 – Barmar

+0

iframe與主文檔位於同一個域中嗎?您無法跨域訪問iframe內容。 – Barmar