我有一个登录页面,如果登录成功,我打开一个主页作为弹出窗口。在IE 6.0中,我没有遇到问题,但IE.7.0向我显示一个警告“你正在查看的网页试图关闭这个window.你想要关闭窗口吗?“。当我添加代码来阻止它时,现在IE 7.0并没有给我提醒,但IE 6.0给出了同样的问题。我怎样才能解决这个问题?
Dim strScript As String = "<script language= ""javascript"">window.open('" & Class.cls_LU_PARAMETRE.Deger("START_PAGE") & "','" & Now.ToString("ddMMyyyyHHmmss") & "','resizable=1,width=1015,height=700,left=0,top=0,scrollbars=1,status=1');</script>"
Me.RegisterStartupScript("start", strScript)
我添加此代码以阻止IE 7.0警告
Dim s As String
s = "<script language= ""javascript"">"
s += " {var oMe = window.self;oMe.open('','_self',''); oMe.close();}"
s += " </script>"""
Me.Page.RegisterStartupScript("close", s)
'********************
答案 0 :(得分:10)
这是一项安全功能。毕竟,如果你去的某个网站决定关闭你的浏览器窗口,你会怎么样?
避免这种情况的最正确方法是从javascript打开浏览器窗口。当您这样做时,允许父窗口关闭窗口而不询问用户。
答案 1 :(得分:3)
如果javascript代码打开它,Javascript可以关闭窗口。
使用javascript打开窗口
<script type="text/javascript">
function openWin(url, target, args){
if(target && args)window.open(url, target, args);
else if(target)window.open(url, target);
else window.open(url);
}
</script>
<a href="javascript:openWin('close.html');">Open window</a>
<a href="close.html" target="_self">Open window that won't close</a>
使用javascript关闭窗口
<a href="javascript:if(window.opener)window.close();">Close window</a>
这很简单,适用于IE6,7,8,9,Chrome,FF,Opera,Safari等......我测试过它
答案 2 :(得分:2)
另一种解决方案
window.opener = "";
window.close();
答案 3 :(得分:2)
function openpopup()
{
{
var closeurl = "Default2.aspx";
var popurl = "FrmUserLoginpage.aspx";
winpops = window.open(popurl, "HMSAJAX", "toolbar=no,menubar=no, resizable=yes,status=yes,scrollbars=yes");
window.open('', '_self', '');
window.close();
}
}
答案 4 :(得分:1)
您可以通过设置self.opener属性在IE中修复此问题:
self.opener = this;
self.close();
编辑:看起来MS可能已修复此错误(它总是一个漏洞利用)。看起来你运气不好,除非你自己打开窗户,然后从打开它的同一页面关闭它。