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



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

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

我需要的是从开场白中知道弹出窗口何时打开
我知道窗口的名称,所以如果它已经打开,我可以使用进行检查

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

但问题是,当窗口没有打开时,它会尝试创建一个新窗口。

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

谢谢!

我只能想到一种方法,那就是丑陋:Monkeypatchwindow.open在你说你可以访问的开场白加载/就绪事件中:

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;
};

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

最新更新