簡體   English   中英

彈出窗口關閉時如何刷新父頁面?

[英]How can I refresh parent page when a pop up is close?

關閉彈出窗口時,刷新主頁的功能存在一些問題。

在我的彈出頁面中,我有以下javascript

$(function () {        
    window.onunload = function () {
        if (window.opener && !window.opener.closed) {
            window.opener.popUpClosed();
        }
    };
});

在主頁中,我有以下javascript

$(function () {
    function popUpClosed() {
        window.location.reload();
    }
});

我收到一個錯誤,該對象不支持方法“ popUpClosed”。

我在StackOverflow的此答案中看到了此解決方案,但我不知道如何解決此錯誤。

您是否嘗試過下一個答案:

var myPop = "pop up window selector"
myPop.onunload = function(){ 
  location.reload(); 
};

來源: 彈出窗口關閉時刷新父窗口

更新資料

您可以像這樣獲得對窗口的引用:

var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);

來源: https : //developer.mozilla.org/en/DOM/window.open

更新資料

我只是意識到window.opener.popUpClosed()popUpClosed()的全局范圍內正在尋找popUpClosed()函數,但實際上並未在全局范圍內聲明,請嘗試以下操作:

var popUpClosed = function () {
    window.location.reload();
};

刪除此周圍的document.ready事件處理程序將使它可以從子文檔(如彈出窗口)訪問。 還要注意,該函數現在已聲明為: var <name> = function () { ... }; 允許通過window對象訪問它。

這是因為window.opener沒有任何名為popUpClosed方法。 這樣刪除window.opener

window.onunload = function () {
  if (window.opener && !window.opener.closed) {
    popUpClosed();
  }
};

暫無
暫無

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

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