在IE7中,使用window.cln打开的子窗口可以使用window.close()关闭自身,但是使用< a href = ... target = _blank>打开一个窗口。如果子窗口试图自行关闭,将显示安全警告。
在我的应用程序中,我不知道我的子窗口是如何打开的,我需要知道(在子窗口javascript代码中)是否可以使用window.close()。有办法吗?问这个问题的另一种方法是 - 在IE中是否有办法区分通过window.open打开的窗口与通过target = _blank打开的窗口。
我试过检查window.opener但是在这两种情况下都有一个值,所以这不允许我区分这两种情况。
答案 0 :(得分:1)
尝试比较window.opener和window.self
答案 1 :(得分:0)
只是一个盲目的镜头,但您可以尝试在窗口中删除onunload事件,以防它存在。
答案 2 :(得分:0)
如果您可以控制window.open事件,则可以为新窗口指定名称(我认为是第二个参数)。然后,您可以在应用window.close()之前检查该名称。
答案 3 :(得分:0)
来源:Close window without the prompt message in IE7
这是如何根据上面的页面避免提示:
function WinClose(){window.open('','_self','');window.close();}
<a href="#" onclick="WinClose();return false;">Close</a>
这是您网页的可行方法吗?