如何关闭浏览器窗口而不接收到“是否要关闭此窗口”提示?
使用该window.close();
功能时出现提示。
如何关闭浏览器窗口而不接收到“是否要关闭此窗口”提示?
使用该window.close();
功能时出现提示。
Answers:
window.open('', '_self', ''); window.close();
这对我有用。
showModalDialog
怎么办?它不工作在IE10
我的朋友……有一种方法,但是“ hack”并没有开始描述它。您必须基本上利用IE 6和7中的错误。
每次都能工作!
无需调用window.close()
,而是重定向到另一个页面。
开启页面:
alert("No whammies!");
window.open("closer.htm", '_self');
重定向到另一个页面。IE使您无法关闭此页面上的浏览器。
关闭页面:
<script type="text/javascript">
window.close();
</script>
很棒吗?
不允许脚本关闭用户打开的窗口。这被认为是安全风险。尽管没有任何标准,但是所有浏览器供应商都遵循此标准(Mozilla docs)。如果这在某些浏览器中发生,则是(非常理想的)非常快速地修复补丁程序的安全漏洞。
该问题答案中的所有hacks都不再起作用,并且如果有人提出另一个肮脏的hacks,最终它将也停止工作。
我建议您不要为此浪费精力,而应采用浏览器如此有用的方法-在您看上去使其页面崩溃之前先询问用户。
这是我用来关闭浏览器而没有提示或警告的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){
}
}
}
showModalDialog
。在上closeWindows
,当上一个窗口仍处于打开状态时,它将打开一个新窗口(相同页面)。
这在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不显示“您要关闭此窗口”提示。
不幸的是,不可能让Firefox关闭窗口。
在正文标签中:
<body onload="window.open('', '_self', '');">
要关闭窗口:
<a href="javascript:window.close();">
在Safari 4.0.5,用于Mac 3.6的FF,IE 8.0和用于Windows 3.5的FF上测试
出于安全原因,仅当JavaScript打开了窗口时,才能在JavaScript中关闭该窗口。为了关闭该窗口,您必须打开一个新窗口_self
作为目标,它将覆盖您当前的窗口,然后关闭该窗口(您可以执行此操作,因为它是通过JavaScript打开的)。
window.open('', '_self', '');
window.close();
window.open('', '_self', '').close();
抱歉,在这里晚了一点,但是我找到了解决方案,至少就我而言。在Safari 11.0.3和Google Chrome 64.0.3282.167上测试
由于IE中的安全性增强,除非通过脚本打开窗口,否则无法关闭窗口。因此,解决方法是让浏览器认为使用脚本打开了该页面,然后关闭了窗口。下面是实现。
试试这个,它就像一个魅力!
javascript关闭当前窗口而不提示IE
<script type="text/javascript">
function closeWP() {
var Browser = navigator.appName;
var indexB = Browser.indexOf('Explorer');
if (indexB > 0) {
var indexV = navigator.userAgent.indexOf('MSIE') + 5;
var Version = navigator.userAgent.substring(indexV, indexV + 1);
if (Version >= 7) {
window.open('', '_self', '');
window.close();
}
else if (Version == 6) {
window.opener = null;
window.close();
}
else {
window.opener = '';
window.close();
}
}
else {
window.close();
}
}
</script>
这将起作用:
<script type="text/javascript">
function closeWindowNoPrompt()
{
window.open('', '_parent', '');
window.close();
}
</script>
window.opener=window;
window.close();
将以下代码放在ASPX中。
<script language=javascript>
function CloseWindow()
{
window.open('', '_self', '');
window.close();
}
</script>
将以下代码放在按钮单击事件后面的代码中。
string myclosescript = "<script language='javascript' type='text/javascript'>CloseWindow();</script>";
Page.ClientScript.RegisterStartupScript(GetType(), "myclosescript", myclosescript);
如果在关闭之前没有任何处理,则可以将以下代码直接放在按钮click标签中的ASPX中。
OnClientClick="CloseWindow();"
希望这可以帮助。
在我的情况下,以下代码嵌入到php文件中。
var PreventExitPop = true;
function ExitPop() {
if (PreventExitPop != false) {
return "Hold your horses! \n\nTake the time to reserve your place.Registrations might become paid or closed completely to newcomers!"
}
}
window.onbeforeunload = ExitPop;
所以我打开控制台并编写以下内容
PreventExitPop = false
这样就解决了问题。因此,找出JavaScript代码并找到变量,然后将其分配给适当的“值”,在我的情况下为“ false”
我将发布此消息,因为这是我当前在网站上使用的内容,它在Google Chrome和IE 10中均可以正常运行,而不会收到任何弹出消息:
<html>
<head>
</head>
<body onload="window.close();">
</body>
</html>
我的网站上有一个函数,我想运行该函数以将开/关变量保存到会话中,而无需直接进入新页面,因此我只打开了一个很小的弹出式网页。该网页随后会立即使用该onload="window.close();"
功能关闭。
a
withtarget=_blank
来在特定的URL打开一个小的弹出窗口,然后最后我使用JS关闭该窗口。目的是特定的url将一个值保存到会话中以禁用背景图像,尽管一旦我弄清楚如何做ajax,我将在这里尽快删除它,以支持ajax。(仍在学习技巧)
window.open('','_self').close()