Window A opens window B
Window A opens window C
On Window C (after user action) I need Window B refreshed.
更多解释: 是。窗口A是主日历。窗口B手动打开并且较小,并显示有关日历(窗口A)的统计信息
当用户点击窗口A中的日历事件时,将打开Window C.当用户更改窗口C上的信息时,窗口B(统计信息)需要更新。
答案 0 :(得分:1)
首先,我要警告你,你想要达到的目标不是一个好习惯。
许多浏览器都在打开新标签而不是新窗口,这会影响window.opener
的可用性。虽然这在很大程度上取决于浏览器设置。
首先,您应该测试一下,看看您的代码是否真正打开了新窗口,而不是新标签。
现在,在a.html中你应该有这个:
var windowB=window.open("b.html");
var windowC=window.open("c.html");
在c.html中你应该有:
function openNewPage() {
window.opener.windowB.location.reload(true);
}
并在用户交互时调用openNewPage()函数。
答案 1 :(得分:0)
您需要相互设置子窗口的引用。这是一个简单的演示。
var b= window.open('');
var c= window.open('');
b.test=function() {
alert('Function in window B');
};
c.test=function() {
b.test();
return false;
};
$(b.document).find('body').append('<div>Window B. <a href="#" onclick="return test();">Click here</a></div>');
$(c.document).find('body').append('<div>Window C. <a href="#" onclick="return test();">Click here</a></div>');