页面完全加载后关闭窗口

问题描述 投票:3回答:4

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

var temp = window.open(link);

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

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

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

javascript firefox
4个回答
2
投票

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


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

2
投票

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

jQuery的

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

使用Javascript

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

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


0
投票

你可以用类似的东西

function closed(){
    setTimeout("window.close()", 6000);
}
© www.soinside.com 2019 - 2024. All rights reserved.