如何关闭浏览器窗口而不收到是否要关闭此窗口提示?
当我使用该window.close();
功能时出现提示。
如何关闭浏览器窗口而不收到是否要关闭此窗口提示?
当我使用该window.close();
功能时出现提示。
window.open('', '_self', ''); window.close();
这对我有用。
不允许脚本关闭用户打开的窗口。这被视为安全风险。尽管它不在任何标准中,但所有浏览器供应商都遵循这一点(Mozilla 文档)。如果这种情况发生在某些浏览器中,那么这是一个安全漏洞,(理想情况下)会很快得到修补。
这个问题的答案中的任何黑客都不再有效,如果有人想出另一个肮脏的黑客,最终它也会停止工作。
我建议你不要浪费精力去解决这个问题,而要接受浏览器提供给你的方法——在你似乎使他们的页面崩溃之前询问用户。
我的朋友......有一种方法,但“hack”并没有开始描述它。您必须基本上利用 IE 6 和 7 中的错误。
每次都有效!
而不是调用window.close()
,重定向到另一个页面。
打开页面:
alert("No whammies!");
window.open("closer.htm", '_self');
重定向到另一个页面。这会愚弄 IE,让您关闭此页面上的浏览器。
关闭页面:
<script type="text/javascript">
window.close();
</script>
厉害吧?!
这是我用来在没有提示或警告的情况下关闭浏览器的 Javascript 函数,它也可以从 Flash 调用。它应该在 html 文件中。
function closeWindows() {
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
//alert(browserName + " : "+browserVer);
//document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>";
if(browserName == "Microsoft Internet Explorer"){
var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
if (ie7)
{
//This method is required to close a window without any prompt for IE7 & greater versions.
window.open('','_parent','');
window.close();
}
else
{
//This method is required to close a window without any prompt for IE6
this.focus();
self.opener = this;
self.close();
}
}else{
//For NON-IE Browsers except Firefox which doesnt support Auto Close
try{
this.focus();
self.opener = this;
self.close();
}
catch(e){
}
try{
window.open('','_self','');
window.close();
}
catch(e){
}
}
}
这适用于 Chrome 26、Internet Explorer 9 和 Safari 5.1.7(不使用帮助页面,ala Nick 的回答):
<script type="text/javascript">
window.open('javascript:window.open("", "_self", "");window.close();', '_self');
</script>
嵌套window.open
是为了让IE 不显示Do you want to close this window提示。
不幸的是,无法让 Firefox 关闭窗口。