页面完全加载后关闭窗口

时间:2014-11-12 14:00:38

标签: javascript firefox

我正在尝试编写一个适用于Firefox 5.0的JavaScript函数。我需要页面完全加载,然后关闭。我想做的是:

var temp = window.open(link);

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

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

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

4 个答案:

答案 0 :(得分:3)

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

使用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
  • 设置图像来源

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

<强>的jQuery

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

<强>的Javascript

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

我还建议您阅读此Question和此answer

答案 3 :(得分:0)

你可以使用像

这样的东西
function closed(){
    setTimeout("window.close()", 6000);
}
相关问题