在javascript中關閉父窗口時如何關閉子窗口?在javascript中關閉父窗口時如何關閉子窗口?
2
A
回答
2
如果父窗口和子窗口是指彈出式窗口和打開它的窗口,則無法完全做到這一點,但主窗口中的以下腳本將關閉彈出式窗口窗口被卸載(即關閉或用戶導航到另一個頁面或刷新):
var popUp = window.open("popup.html", "popup", "width=300,height=200");
window.onunload = function() {
if (popUp && !popUp.closed) {
popUp.close();
}
};
歷史註釋:它曾經是有可能做到這一點在某些瀏覽器(如Firefox)的使用在dependent
窗口屬性window.open
呼叫的第三個參數(例如var popUp = window.open("popup.html", "popup", "width=300,height=200,dependent");
),但according to quirksmode它不再支持任何操作。我沒有自己測試過。
0
當從一個窗口打開多個子窗口並且想關閉父窗口關閉時的所有窗口,則需要將子窗口引用存儲在數組中。在窗口的onunload事件上,您可以迭代此數組並在每個子窗口引用上調用close()方法。查看完整示例click here
window.onunload = function closeChildWin(){
for(var i=0; i<childwindows.length; i++){
try{
childwindows[i].close()
}catch(e){
alert(e);
}
}
}
0
我在從彈出窗口中創建彈出窗口時遇到了此問題。在創建窗口名稱後訪問窗口名稱似乎什麼都不做。創建
首先一個窗口:
popup = window.open(address, name, params)
首先,我試圖做到這一點:
window.onbeforeunload = function() {
popup.close()
}
但問題是,這是後命名爲「彈出」無法訪問創建。我沒有得到任何迴應。
所以這就是我如何得到它的工作。的JavaScript彈出窗口裏面我說:
window.parent.onbeforeunload = function() {
window.close()
}
現在,每當父窗口關閉,所有的「孩子」窗口關閉爲好。即使在彈出窗口下有彈出窗口彈出。只要每個「彈出」窗口都有,它會在任何窗口「上方」關閉時關閉。
相關問題
- 1. 當父窗口在Jquery中關閉時關閉子窗口
- 2. 如何防止父窗口關閉之前關閉子窗口
- 3. 如何關閉父窗口關閉子窗口?
- 4. 父窗口關閉時關閉所有子窗口
- 5. 當父窗口關閉時自動關閉子窗口
- 6. WPF關閉子關閉父窗口
- 7. 使用子窗口關閉父窗口。
- 8. 從父窗口關閉子窗口
- 9. 從子窗口關閉父窗口
- 10. 關閉子窗口刷新父窗口
- 11. 如何在子窗口關閉時提交父窗口表單
- 12. 如何在父窗口關閉時從子窗口訪問父窗口方法?
- 13. javascript:父窗口如何知道其子窗口關閉?
- 14. 只有在java swing中關閉子窗口時才需要關閉父窗口
- 15. 子窗口關閉時如何運行父窗口的功能?
- 16. 關閉JavaScript子窗口
- 17. 子窗口關閉時通知窗口
- 18. JavaScript的 - 重新加載父窗口,如果子窗口關閉
- 19. 無關閉窗口的關閉窗口
- 20. 如何在colorbox關閉時關閉父窗口?
- 21. 如何在子關閉時調用父窗口的javascript函數?
- 22. 關閉子窗口後在父窗口中調用函數
- 23. JavaScript中的窗口關閉
- 24. 當一個子窗口打開時關閉父窗口
- 25. 父窗口用戶註銷時關閉特定的子窗口
- 26. 關閉子窗口時刷新父窗口
- 27. 關閉窗口
- 28. 如何在JavaScript中關閉窗口?
- 29. 如何在Firefox中打開子窗口時自動關閉父窗口
- 30. 子WebBrowser窗口上的「關閉」按鈕關閉父窗口(.NET,winforms)