Javascript 歌剧:Can';无法从window.open()获取加载事件

Javascript 歌剧:Can';无法从window.open()获取加载事件,javascript,load,window,opera,Javascript,Load,Window,Opera,我想从打开的窗口获取加载事件。上面的代码可以工作,但是在Opera11.62中没有调用回调函数(在其他浏览器上工作) 编辑:当我在0毫秒超时后注册事件时,它会起作用: var openedWindow = window.open("test.html", "title"); openedWindow.addEventListener("load", function() { console.log("received load event"); }, false); 这似乎是Oper

我想从打开的窗口获取加载事件。上面的代码可以工作,但是在Opera11.62中没有调用回调函数(在其他浏览器上工作)

编辑:当我在0毫秒超时后注册事件时,它会起作用:

var openedWindow = window.open("test.html", "title");

openedWindow.addEventListener("load", function() {
    console.log("received load event");
}, false);

这似乎是Opera中的一个已知错误——我将内部错误报告(CORE-46278)向前推了一点


我能想到的唯一解决办法是从弹出式内容中添加回调-类型为opener.popUpload()。不过,这也可能带来性能优势-当弹出窗口的脚本环境就绪且您想要与之对话的脚本正在运行时,您可以开始与弹出窗口进行交互,而不是等待加载事件。

这似乎是Opera中的一个已知错误-我将内部错误报告(CORE-46278)向前推了一点


我能想到的唯一解决办法是从弹出式内容中添加回调-类型为opener.popUpload()。不过,这也可能带来性能优势-当弹出窗口的脚本环境就绪且要与之对话的脚本正在运行时,您可以开始与弹出窗口进行交互,而不是等待加载事件。

感谢推送错误报告:)我对您的解决方法的唯一问题是,弹出窗口的url不是固定的,因此是未知的。如果您可以将脚本添加到该弹出窗口的内容中,则回调应该可以正常工作。感谢推送错误报告:)我对您的解决方法的唯一问题是,弹出窗口的url不是固定的,因此是未知的。如果您可以将脚本添加到该弹出窗口的内容中,回调应该可以正常工作。
var openedWindow = window.open("test.html", "title");

window.setTimeout(function() {
    openedWindow.addEventListener("load", function() {
        console.log("received load event");
    }, false);
}, 0);