簡體   English   中英

導航網站時保留彈出窗口 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM