如何在Mozilla Firefox 3上使用Javascript关闭窗口?

如何在Mozilla Firefox 3上使用Javascript关闭窗口?,javascript,firefox,Javascript,Firefox,我需要通过点击按钮关闭显示我的网页的选项卡。但是firefox不允许用javascript关闭窗口,只要它不是用javascript打开的。 如果我将dom.allow\u scripts\u to\u close\u windows的值设置为“true”,那么即使是正常的window.close()也可以工作。但这不是一个好的解决办法( 我在其中一个论坛中尝试了以下建议的解决方法: <script language="javascript" type="text/javascript"&

我需要通过点击按钮关闭显示我的网页的选项卡。但是firefox不允许用javascript关闭窗口,只要它不是用javascript打开的。 如果我将
dom.allow\u scripts\u to\u close\u windows
的值设置为“true”,那么即使是正常的
window.close()
也可以工作。但这不是一个好的解决办法(

我在其中一个论坛中尝试了以下建议的解决方法:

<script language="javascript" type="text/javascript">
function closeWindow() {
   window.open('','_parent','');
   window.close();
}
</script> 

函数closeWindow(){
窗口。打开(“”,“”,“”);
window.close();
}
它应该会欺骗浏览器,使其认为它实际上是由javascript打开的,但这在Firefox3中不起作用


有人能提出解决方案吗?

从用户体验的角度来看,您不希望被动地完成主要操作


诸如窗口关闭之类的重要操作应该是用户操作的结果。

出于安全原因,脚本无法关闭未打开的窗口/选项卡

解决方案是在导航历史记录中的较早点显示年龄提示。然后,您可以根据他们的输入选择允许他们进入您的网站或不允许他们进入您的网站


您可以简单地说“对不起”,或者将用户重定向到他们的主页,而不是关闭显示提示的页面。

此代码适用于IE 7和最新版本的Mozilla,尽管Mozilla中的默认设置不允许通过javascript关闭窗口

function closeWindow() {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
    alert("This will close the window");
    window.open('','_self');
    window.close();
}

closeWindow();
代码如下:

函数F11() { 窗口。打开(“”,“”,“”); 打开(“login.aspx”,“channelmode”); window.close(); }

要更改默认设置,请执行以下操作:

1.在firefox地址栏中键入“about:config”并输入

2.确保“dom.allow_scripts_to_close_windows”为true

self.close()不起作用,是否确实关闭了一个窗口而不是脚本生成的弹出窗口


你们可能想看看这个:

如果浏览器用户认为这是一个安全性和/或可用性问题,那么你的问题的答案就是不要关闭窗口,因为根据定义,他们无论如何都会为你的解决方案找到解决方案。关于为什么选择fir的原因,有一个很好的总结efox错误数据库

那你能做什么呢

更改网站的规格,以便为这些人提供解决方案。例如,您可以借此机会将他们介绍给合作伙伴


也就是说,将其视为向(可能)需要它的其他人的移交。例如,Hanselman最近发表了一篇关于在其他类似情况下该怎么做的文章,即404错误:

这段代码肯定会解决它

function closing() {
var answer = confirm("Do you wnat to close this window ?");
    if (answer){
        netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserWrite');
        window.close();
    }
    else{
        stop;
    }
}

我相信这是firefox深思熟虑的设计决定。解决这个问题可能不是一个好主意。Mozilla可能会修复任何“解决方案”您在未来的版本中发现,无论如何,该网页包含明确的内容。因此,如果用户是inder 18或不打算进入网站,则会有一个按钮可供用户单击。不过,有更好的方法来完成同样的事情,您不必为类似的事情打开一个全新的窗口。如果用户单击“否”,您可以我只能重定向到www.disney.com或其他网站。我不能去告诉使用该网站的用户执行以下步骤:(@AnindyaSengupta也许你应该把这个带到Firefox开发者那里。有些公司在他们的设置中启用了这个标志。不使用Firefox/chrome。获取错误:未捕获引用错误:netscape未定义