var openedWindow = window.open("test.html", "title");
openedWindow.addEventListener("load", function() {
console.log("received load event");
}, false);
我想从打开的窗口获取load事件。上面的代码可行,但回调函数不会在Opera 11.62中调用(适用于其他浏览器)。
编辑:当我在0ms超时后注册事件时它可以工作:
var openedWindow = window.open("test.html", "title");
window.setTimeout(function() {
openedWindow.addEventListener("load", function() {
console.log("received load event");
}, false);
}, 0);
答案 0 :(得分:0)
这似乎是Opera中的一个已知错误 - 我已将内部错误报告(CORE-46278)推向前一点。
我能想到的唯一解决方法是从弹出内容中添加回调 - 输入opener.popupLoaded()。但是,这也可以提供性能优势 - 当脚本环境准备就绪并且要与之通信的脚本正在运行时,您可以开始与弹出窗口进行交互,而不是等待加载事件。