2017-05-03 122 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