页面完全加载后关闭窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面完全加载后关闭窗口相关的知识,希望对你有一定的参考价值。

我正在尝试编写一个可以在Firefox 5.0上运行的javascript函数。我需要页面完全加载,然后关闭。我想要做的是:

var temp = window.open(link);

temp.window.onload = function () {
    temp.window.close();
}

但到目前为止它所做的只是打开新标签,但不会关闭它。

有没有办法成功实现这一目标?

答案

您可以为该窗口创建新的js文件,并且只有window.close();内。

另一答案

首先,如果链接不在同一个域中,则由于原始策略相同,您将无法关闭该窗口。

使用addEventListener侦听onload事件

var temp = window.open(link); 
temp.addEventListener('load', function() { temp.close(); } , false);

如果你需要支持旧IE,那么你需要attachEvent

var temp = window.open(link); 
temp[temp.addEventListener ? 'addEventListener' : 'attachEvent']( (temp.attachEvent ? 'on' : '') + 'load', function() { temp.close(); }, false );

无需打开窗口即可访问网页。

您可以:

  • 发出Ajax请求 - 必须是同一个域
  • 设置隐藏的iframe
  • 设置图像源
另一答案

如果您可以访问弹出窗口,则可以添加以下内容:

jQuery的

<script>
    $(window).load(function(){
        open(location, '_self').close();
    });
</script>

使用Javascript

<script>
  window.onload = function () {
     open(location, '_self').close();
   };
</script>

我还建议你阅读这个Question和这个answer

另一答案

你可以用类似的东西

function closed(){
    setTimeout("window.close()", 6000);
}

以上是关于页面完全加载后关闭窗口的主要内容,如果未能解决你的问题,请参考以下文章

成功登录后关闭 Kendo UI 窗口并重新加载父页面

Selenium - 如何等到页面完全加载[重复]

为什么在重新加载而不是窗口加载后引导模态弹出窗口。可能是什么原因?

关闭jQUERY中的弹出窗口后如何刷新父页面? [复制]

在iframe内页面完全加载完后,关闭父页面生成的div遮罩层

HTML代码片段