11

有没有办法绕过下面的 IE 弹出框:

您正在查看的 webapge 正在尝试关闭窗口。你想关闭这个窗口吗?是|否

当我将 window.close() 添加到 asp.net 按钮控件的 onclick 事件时,就会发生这种情况。

4

3 回答 3

24

在打开的弹出窗口中写入以下内容

var objWin = window.self;
objWin.open('','_self','');
objWin.close();
于 2011-11-15T11:13:29.540 回答
11

您的 JavaScript 代码只能在没有确认的情况下关闭先前由 window.open() 打开的窗口。这是一种有意的安全预防措施,因为在网页上运行的脚本并不拥有该窗口,并且通过关闭它会丢弃该窗口中的浏览历史记录。

解决方法是要么有一个“欢迎页面”,要么有一个弹出你想用 window.open 关闭的窗口的页面,或者告诉你的用户修改他们的浏览器安全设置以允许你的应用程序关闭他们的窗户。

于 2008-12-10T20:12:23.563 回答
7

对此有一个技巧。

对于 IE 调用:

window.open('close.html', '_self');

然后在 close.html 中,您只需要:

<script>window.close();</script>

由于这实质上会在同一个命名窗口中打开一个弹出窗口,因此当“新”窗口打开时,它有一个“开启器”,因此可以关闭。

于 2008-12-10T20:56:15.720 回答