歌剧:无法从window.open得到负载事件()(Opera: Can't get loa

2019-06-25 08:47发布

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

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

我想从一个打开的窗口获取加载事件。 上述工程的代码,但回调函数不会被调用在Opera 11.62(适用于其他浏览器)。

编辑:它的工作原理,当我经过0毫秒超时注册事件:

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

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

Answer 1:

这似乎是在Opera中一个已知的错误 - 我已经推了内部错误报告(CORE-46278),一点点前进。

我能想到的唯一解决方法是从弹出的内容添加回调 - 型opener.popupLoaded()。 然而,这可能提供性能上的优势太 - 你就可以开始使用弹出交互时的脚本环境已准备就绪,你想交谈的脚本运行,而不是等待加载事件。



文章来源: Opera: Can't get load event from window.open()