检测window.opener窗口刷新事件

时间:2012-09-04 21:58:13

标签: javascript jquery browser window refresh

假设在窗口A我做

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

并打开一个新窗口(称之为窗口B)

然后在窗口B上我得到了对开启窗口(窗口A)的引用

var opener = $(window.opener)

有没有办法在窗口A刷新和/或刷新完成时使用上面的opener变量从窗口B中检测?

2 个答案:

答案 0 :(得分:0)

我在原始窗口中设置了一个变量,可能是时间戳或类似的东西:

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

然后在窗口B中,您可以执行相同的操作,并根据两个窗口的创建日期,您将知道窗口A是否最近刷新。您还可以将窗口A的创建日期存储为窗口B中的变量,这样您就可以随时知道窗口A已刷新。

答案 1 :(得分:0)

您可以通过使用例如

卸载开启者的时间
$(opener).unload()

在newWindow中,您应该能够在超时后重新分配开启器内的变量。

重新加载后,不要忘记重新分配卸载功能。

我做了一个DEMO:http://fiddle.jshell.net/doktormolle/2Pcn8/show/

来源:
揭幕战:http://jsfiddle.net/doktormolle/2Pcn8/
newWindow:http://jsfiddle.net/doktormolle/jB9D6/

适用于IE(6-9),FF,Chrome,Safari 没在Opera中工作