我如何知道弹出窗口 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;
};
如果有其他解决方案,请使用;但如果没有(我认为没有),这应该可行。
我有一个脚本可以在同一主机中打开一个弹出窗口。
使用 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;
};
如果有其他解决方案,请使用;但如果没有(我认为没有),这应该可行。