我正在尝试编写一个适用于Firefox 5.0的JavaScript函数。我需要页面完全加载,然后关闭。我想做的是:
var temp = window.open(link);
temp.window.onload = function () {
temp.window.close();
}
但到目前为止它所做的只是打开新标签,但不会关闭它。
有没有办法成功实现这个目标?
答案 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 );
无需打开窗口即可访问网页。
你可以:
答案 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>
答案 3 :(得分:0)
你可以使用像
这样的东西function closed(){
setTimeout("window.close()", 6000);
}