2012-03-01 65 views
1

我有一個名爲PopUp1(page0.aspx)的彈出窗口。當用戶點擊PopUp1的GridView中的一行時,它會打開一個新的彈出窗口來加載我的page1.aspx。彈出關閉時刷新特定頁面(jQuery)

如果用戶點擊在新彈出(page1.aspx這個)的鏈接,那麼內容將會與page2.aspx取代。

我想:如果用戶關閉我的第二個彈出打開page1.aspx這個或page2.aspx窗口,然後刷新PopUp1(page0.aspx)。

我該怎麼做,通過jQuery?

回答

2

在page1.aspx這個和page2.aspx添加一些JavaScript來刷新自己的父母(你不需要這方面的任何jQuery的)

在您的標記:

<body onunload="refreshParent();"> 

在你的JavaScript:

var refreshParent = function() { 
    if (opener && !opener.closed) { 
     opener.location.reload(); 
    } 
}; 

編輯:另外,如果你想保持你的邏輯,從您的標記分隔:

$(window).unload(refreshParent); 
+0

我得到一個錯誤:'refreshParent'沒有定義。 – 2012-03-01 15:31:58

+0

確保在將函數作爲回調傳遞給卸載處理程序之前定義函數。 – jbabey 2012-03-01 15:43:34

0

你可以使用普通的JavaScript

window.opener.reload(); 
+0

但在極好的JavaScript文件?我有一個page0.js,page1.js和page2.js – 2012-03-01 14:59:13

+0

page1.aspx和page2.aspx。 onunload在body標籤中調用window.opener.reload – roel 2012-03-01 15:09:56

+0

我得到一個錯誤,對象沒有定義 – 2012-03-01 15:26:07

1

在新彈出(page1.aspx這個或page2.aspx),把下面的jQuery和它應該刷新打開的窗口當彈出被關閉或刷新:

$(window).unload(function(){ 
    window.opener.location.reload(); 
}); 

如果你想你也可以用,如果你想要做某種工作流邏輯的在你的頁面使用.assign方法更改打開頁面的位置,例如 window.opener.location.assign('http://newurl');

相關問題