2017-08-16 203 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瀏覽器 –