我有一個名爲PopUp1(page0.aspx)的彈出窗口。當用戶點擊PopUp1的GridView中的一行時,它會打開一個新的彈出窗口來加載我的page1.aspx。彈出關閉時刷新特定頁面(jQuery)
如果用戶點擊在新彈出(page1.aspx這個)的鏈接,那麼內容將會與page2.aspx取代。
我想:如果用戶關閉我的第二個彈出打開page1.aspx這個或page2.aspx窗口,然後刷新PopUp1(page0.aspx)。
我該怎麼做,通過jQuery?
我有一個名爲PopUp1(page0.aspx)的彈出窗口。當用戶點擊PopUp1的GridView中的一行時,它會打開一個新的彈出窗口來加載我的page1.aspx。彈出關閉時刷新特定頁面(jQuery)
如果用戶點擊在新彈出(page1.aspx這個)的鏈接,那麼內容將會與page2.aspx取代。
我想:如果用戶關閉我的第二個彈出打開page1.aspx這個或page2.aspx窗口,然後刷新PopUp1(page0.aspx)。
我該怎麼做,通過jQuery?
在page1.aspx這個和page2.aspx添加一些JavaScript來刷新自己的父母(你不需要這方面的任何jQuery的)
在您的標記:
<body onunload="refreshParent();">
在你的JavaScript:
var refreshParent = function() {
if (opener && !opener.closed) {
opener.location.reload();
}
};
編輯:另外,如果你想保持你的邏輯,從您的標記分隔:
$(window).unload(refreshParent);
你可以使用普通的JavaScript
window.opener.reload();
但在極好的JavaScript文件?我有一個page0.js,page1.js和page2.js – 2012-03-01 14:59:13
page1.aspx和page2.aspx。 onunload在body標籤中調用window.opener.reload – roel 2012-03-01 15:09:56
我得到一個錯誤,對象沒有定義 – 2012-03-01 15:26:07
在新彈出(page1.aspx這個或page2.aspx),把下面的jQuery和它應該刷新打開的窗口當彈出被關閉或刷新:
$(window).unload(function(){
window.opener.location.reload();
});
如果你想你也可以用,如果你想要做某種工作流邏輯的在你的頁面使用.assign方法更改打開頁面的位置,例如 window.opener.location.assign('http://newurl');
我得到一個錯誤:'refreshParent'沒有定義。 – 2012-03-01 15:31:58
確保在將函數作爲回調傳遞給卸載處理程序之前定義函數。 – jbabey 2012-03-01 15:43:34