![](/img/trans.png)
[英]Keep a pointer to a callback even when navigating to a new page in a popup window
[英]retain popup window when navigating website
以下代碼在加載頁面時生成 javascript 彈出窗口,然后在關閉父 window 時關閉彈出窗口 window。
<script language="JavaScript">
var player;
function load() {
player = window.open('http://www.google.com','player','height=320,width=320,scrollbars,resizable');
}
function unload() {
player.close();
}
window.onload = load;
window.onunload = unload;
</script>
這工作正常,但是在網站上切換頁面時它會關閉彈出窗口 window。 有什么方法可以改變它以保持彈出 window 直到實際的 URL/站點 window 關閉?
我認為您必須從孩子那里檢查父 window 的狀態,而不是反之亦然。
此代碼尚未經過測試,但我正在嘗試這個概念:
window.opener.onunload =
setTimeout(
function(){
if (!window.opener) self.close();
}, 1000);
簡短的回答是否定的,唯一的方法是掛鈎關閉 window 的事件是onunload
,它在文檔被卸載時觸發(比如當你導航到另一個頁面時)。
也許您可以檢查彈出窗口上的window.opener
(使用計時器或 onfocus),以檢查產生彈出窗口的 window 是否仍然存在,如果不存在則關閉彈出窗口。
這可能會幫助您:
<script language="Javascript">
var player;
function load() {
player = window.open('http://www.google.com','player','height=320,width=320,scrollbars,resizable');
}
function unload() {
if (!(window.location.equals('http://yourSiteName.com'))) {
player.close();
}
}
window.onload = load();
window.onunload = unload();
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.