javascript从另一个弹出窗口刷新弹出窗口

时间:2011-06-08 17:09:10

标签: javascript

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(统计信息)需要更新。

2 个答案:

答案 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>');

http://jsfiddle.net/9ZCX3/25/