假设在窗口 AI 上做
var newWindow = window.open('url', 'name', 'width=100');
并打开一个新窗口(称为窗口 B)
然后在窗口 BI 上获取对开启器窗口(窗口 A)的引用
var opener = $(window.opener)
当窗口 A 刷新和/或完成刷新时,有没有办法使用上面的 opener 变量从窗口 B 检测?
假设在窗口 AI 上做
var newWindow = window.open('url', 'name', 'width=100');
并打开一个新窗口(称为窗口 B)
然后在窗口 BI 上获取对开启器窗口(窗口 A)的引用
var opener = $(window.opener)
当窗口 A 刷新和/或完成刷新时,有没有办法使用上面的 opener 变量从窗口 B 检测?
我会在原始窗口中设置一个变量,可能是时间戳或类似的东西:
$(document).ready(function() {
var datime = Date();
});
然后在窗口 B 中,你可以做同样的事情,并根据两个窗口的创建日期,你会知道窗口 A 最近是否刷新过。您还可以将窗口 A 的创建日期作为变量存储在窗口 B 中,以便您随时知道窗口 A 已刷新。
您可以检测到开启器何时通过以下方式卸载:
$(opener).unload()
在 newWindow 内,您应该能够在超时后重新分配开启器内的变量。
不要忘记在重新加载后也重新分配卸载功能。
我做了一个演示: http: //fiddle.jshell.net/doktormolle/2Pcn8/show/
来源:
开瓶器: http: //jsfiddle.net/doktormolle/2Pcn8/
新窗口:http
: //jsfiddle.net/doktormolle/jB9D6/
在 IE(6-9)、FF、Chrome、Safari 中为我工作。
没有在 Opera 中工作