如何在未收到" 是否要关闭此窗口提示"的情况下关闭浏览器窗口?
我使用该window.close();
功能时出现提示.
window.open('', '_self', ''); window.close();
这适合我.
我的朋友......有一种方法,但"黑客"并没有开始描述它.您必须基本上利用IE 6和7中的错误.
每次都有效!
而不是调用window.close()
,重定向到另一个页面.
开幕页面:
alert("No whammies!"); window.open("closer.htm", '_self');
重定向到另一个页面.这让IE愚弄让你关闭这个页面上的浏览器.
关闭页面:
太棒了啊?!
不允许脚本关闭用户打开的窗口.这被视为安全风险.虽然它没有任何标准,但所有浏览器供应商都遵循此标准(Mozilla文档).如果在某些浏览器中发生这种情况,那么(理想情况下)修补程序很快就会得到修补.
在这个问题的答案中没有任何黑客工作了,如果有人想出另一个肮脏的黑客,最终它也会停止工作.
我建议你不要浪费精力去争取这个,并采用浏览器如此有用的方法 - 在看似崩溃他们的页面之前询问用户.
这是Javascript函数,我用它关闭浏览器没有提示或警告,它也可以从Flash调用.它应该在html文件中.
function closeWindows() { var browserName = navigator.appName; var browserVer = parseInt(navigator.appVersion); //alert(browserName + " : "+browserVer); //document.getElementById("flashContent").innerHTML = "
You have been logged out of the Game. Please Close Your Browser Window."; 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){ } } }
在body标签中:
关闭窗口:
在Safari 4.0.5上测试,FF for Mac 3.6,IE 8.0和FF for Windows 3.5
这适用于Chrome 26,Internet Explorer 9和Safari 5.1.7(不使用帮助页面,ala Nick的回答):
嵌套window.open
是为了使IE不显示你要关闭此窗口提示.
不幸的是,让Firefox关闭窗口是不可能的.
出于安全原因,如果窗口是由JavaScript打开的,则只能在JavaScript中关闭窗口.要关闭窗口,您必须打开一个新窗口_self
作为目标,它将覆盖您当前的窗口,然后关闭该窗口(您可以通过JavaScript打开它).
window.open('', '_self', ''); window.close();
从这里:
Close
你需要设置window.opener
一些东西,否则它会抱怨.
由于IE中的安全性增强,除非由脚本打开,否则无法关闭窗口.所以解决这个问题的方法是让浏览器认为这个页面是用脚本打开的,然后关闭窗口.以下是实施.
试试这个,它就像一个魅力!
javascript关闭当前窗口没有提示IE