首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导航网站时保留弹出窗口

导航网站时保留弹出窗口
EN

Stack Overflow用户
提问于 2011-08-10 02:52:10
回答 3查看 271关注 0票数 0

下面的代码在加载页面时生成一个javascript弹出窗口,然后在关闭父窗口时关闭弹出窗口。

代码语言:javascript
复制
<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>

这是工作正常,但它关闭弹出窗口时切换页面在网站上。有没有什么办法可以让弹出窗口一直保留到实际的URL/站点窗口关闭?

EN

回答 3

Stack Overflow用户

发布于 2011-08-10 03:12:07

我认为你必须从子窗口检查父窗口的状态,而不是反之亦然。

这段代码还没有经过测试,但我正在尝试这个概念:

代码语言:javascript
复制
window.opener.onunload = 
     setTimeout(
          function(){ 
              if (!window.opener) self.close(); 
          }, 1000);
票数 1
EN

Stack Overflow用户

发布于 2011-08-10 03:08:11

简短的回答是否定的,钩子到关闭窗口的事件的惟一方法是onunload,它在文档被卸载时触发(比如当您导航到另一个页面时)。

也许你可以检查弹出窗口上的window.opener (使用计时器,或者onfocus),检查产生弹出窗口的窗口是否仍然存在,如果不存在,则关闭弹出窗口。

票数 0
EN

Stack Overflow用户

发布于 2011-08-10 03:22:31

这可能会对你有所帮助:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7001357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档