2017-08-16 213 views
1

我想在JavaScript中做一件事。窗口A有一个方法重新加载。 窗口打开窗口B,B打开C和C打开D.打开D窗口后,B和C都将关闭。现在我怎样才能从D窗口执行A窗口的重装方法。 窗口打开序列如下, A-> B-> C-> D。 打开D后,B和C都会关闭。 A有重新加载方法。我想从D窗口执行重新加载。如何在父窗口关闭时从子窗口访问父窗口方法?

+0

'我要执行从d window'所以你希望这个重新加载窗口d或窗口中的重载? –

+0

重新加载窗口A,但可以从窗口调用重新加载函数D –

+0

因此,该函数将仅存在于窗口A中,并在执行它时......它应该只对窗口A有效果......正确? –

回答

2

店的关键rootWindow到每一个窗口

当您从根窗口

var newWindow = window.open(......); 
newWindow.rootWindow = window; 

开放和任何其他窗口打开窗口时

var newWindow = window.open(......); 
newWindow.rootWindow = window.rootWindow; 

否则在做window.rootWindow = window根窗口在开始时使用

var newWindow = window.open(......); 
newWindow.rootWindow = window.rootWindow; 

无论何时从任何窗口打开新窗口。然而,这是来自我们在孩子身上设置的父方,您也可以从孩子窗口一侧进行设置。

,最后,从任何窗口,只需拨打window.rootWindow.reload()

+0

关闭窗口后,window.rootWindow未定义父窗口 –

+0

可能你正在犯一些错误,我测试过,如果我关闭了'B'和'C'窗口和窗口'A'窗口'D' –

+0

相关的东西,你测试了IE吗?它不正常工作在IE浏览器 –