2012-09-04 37 views
0

假設做檢測的窗口AI window.opener窗口刷新事件

var newWindow = window.open('url', 'name', 'width=100'); 

,並打開一個新窗口(稱之爲窗口B)

然後在窗口BI得到開門紅窗口的引用(窗口A)

var opener = $(window.opener) 

是有使用上述開啓器變量時窗口甲獲取刷新和/或成品清涼從窗口乙檢測的方法嗎?

+0

1)這與您的原始問題有何不同,http://stackoverflow.com/questions/12269535/detecting-the-existence-of-window-after-reload? 2)可能從窗口B以變量或其他東西的間隔輪詢「opener」,如果它改變,使窗口B知道窗口A(這是理論上的)。 –

+0

什麼意思是刷新?你想檢測某人是否刷新窗口A? –

回答

0

你能發現,當揭幕戰卸載使用e.g是。

不要忘記重新加載後也要重新分配卸載函數。

我做了一個演示:http://fiddle.jshell.net/doktormolle/2Pcn8/show/

來源:
揭幕戰:http://jsfiddle.net/doktormolle/2Pcn8/
newWindow:在IE(6-9),FF,鉻,野生動物園http://jsfiddle.net/doktormolle/jB9D6/

爲我工作。
沒有在Opera中工作

+0

嗯,似乎並沒有在Internet Explorer中工作(我用了9) – pillarOfLight

+0

試試上面的演示 –

0

我會設置在原始窗口的變量,也許一個時間戳或類似的東西:

$(document).ready(function() { 
    var datime = Date(); 
}); 

然後在窗口B,你可以做同樣的事情,並根據兩者的創建日期窗口,你會知道如果窗口A最近刷新或不。您還可以將窗口A的創建日期作爲變量存儲在窗口B中,以便隨時可以知道窗口A已被刷新。

$(opener).unload() 

裏面newWindow你應該能夠重新分配超時後的揭幕戰中的變量: