A.html
var iframe = document.querySelector('#test');
// iframe.src = 'B.html'
iframe.onload = window(){
testFunction();
}
B.html
window.onload = window(){
console.log('B.html');
}
我想要“ console.log('B.html')-> TestFunction();”
但是TestFunction();总是先执行。(B.html onload无法正常工作。) 帮帮我...
答案 0 :(得分:0)
您将需要iframe以某种方式与父窗口进行通信,以表明已被加载。看一下cross-document messaging。 由于跨网域政策,我无法在此处提供有效的代码段,但是如果您拥有自己的Web服务器,则类似的代码应该可以工作:
<iframe id='myFrame' src='B.html' onLoad='onFrameLoad()'></iframe>
// A.html
function receiveMessage(event) {
console.log('A.html', event);
}
function onFrameLoad(){
console.log('B.html');
window.parent.postMessage('loaded');
}
window.addEventListener('message', receiveMessage, false);