我如何知道弹出窗口 window 何时打开?

How can I know when a popup window opens?

我有一个脚本可以在同一主机中打开一个弹出窗口。 使用 window.open(url,name,settings) 打开弹出窗口,但未将其分配给变量。

我无法更改打开弹出窗口的功能,也无法更改弹出窗口的代码。但是我可以在 opener 的 load/ready 事件中添加额外的 Javascript 代码。

我需要的是从打开器中知道弹出窗口何时打开。
我知道 window 的名称,所以如果它已经打开,我可以通过以下方式查看:

var openedWin = window.open('', 'Selection');

但问题是当 window 未打开时,它会尝试创建一个新的 window。

如何实现监听器或让我检查命名弹出窗口 window 何时打开的东西?

谢谢!

我只能想出一个办法,就是: Monkeypatch window.open in the opener's load/ready 您说您有权访问的事件:

var original = window.open;
window.open = function(url, windowName, windowFeatures) {
    // Chain to the original
    var wnd = original.call(window, url, windowName, windowFeatures);

    if (windowName === "Selection") {
        // Do whatever it is you want to do with `wnd`
    }

    return wnd;
};

如果有其他解决方案,请使用;但如果没有(我认为没有),这应该可行。