簡體   English   中英

我怎么知道彈出 window 何時打開?

[英]How can I know when a popup window opens?

我有一個腳本可以在同一主機中打開一個彈出窗口。 彈出窗口使用window.open(url,name,settings)打開,而不將其分配給變量。

我無法更改打開彈出窗口的 function 和彈出窗口的代碼。 但我可以在開瓶器的加載/就緒事件中添加額外的 Javascript 代碼。

我需要的是從開啟者那里知道彈出窗口何時打開。
我知道 window 的名稱,所以如果它已經打開,我可以檢查它:

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

但是問題是當window沒有打開時,它會嘗試創建一個新的window。

如何實現監聽器或讓我檢查命名彈出窗口 window 何時打開的東西?

謝謝!

我只能想到一種方法來做到這一點,而且很丑:Monkeypatch window.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;
};

如果有其他解決方案,請使用它; 但如果沒有(我認為沒有),這應該有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM