火狐浏览器如何js关闭窗口的几种解决方法

Posted Leone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了火狐浏览器如何js关闭窗口的几种解决方法相关的知识,希望对你有一定的参考价值。

今天在项目上有一个页面要求在几秒后自动关闭,想着还比较简单,用window.close()就可以了,但是用IE/谷歌/火狐浏览器试了一下,发现IE可以,谷歌用网上的兼容方法也可以实现,但是火狐这里卡住了,不能关闭,网上看到的一种兼容代码:

技术分享
function windowclose() {
    var browserName = navigator.appName;
    if (browserName=="Netscape") {
        window.open(‘‘, _self‘, ‘‘);
        window.close();
    }
    else {
        if (browserName == "Microsoft Internet Explorer"){
            window.opener = "whocares";
            window.opener = null;
            window.open(‘‘, _top);
            window.close();
        }
    }
}
技术分享

试了一下,发现火狐还是不行,又百度了几篇帖子,下面是我的总结:

一、这种方法简单粗暴:改firefox的配置文件

  步骤:
     1、在地址栏输入about:config然后回车,警告确认
     2、在过滤器中输入”dom.allow_scripts_to_close_windows“,双击即可将此值设为true
         即可完成了。

    注:这种方法虽然可以很快解决问题,但是实际项目中,我们不可能去要求每个客户去更改自己浏览器的配置文件

二、利用js中的window.open()

  因为发现火狐浏览器必须是js打开的页面,才能用window.close()关闭,这样的话,就用window.open("这个页面地址")跳转到这个页面,试验可行

三、利用a标签

  利用a标签链接跳转到这个页面,不过需要用target="_blank"属性重新打开页面才可以,试验可行

 

这是三种解决方法,不过还没有找到火狐浏览器在本页面试验关闭页面的方法,还有待研究,希望有大神知道的可以告知

以上是关于火狐浏览器如何js关闭窗口的几种解决方法的主要内容,如果未能解决你的问题,请参考以下文章

关闭MongoDB服务的几种方法

怎样用js关闭一个url打开的窗口

js判断是不是是IE浏览器的几种方法

火狐浏览器中如何使用javascript:window.close()关闭窗口?

Laravel:如何在控制器的几种方法中重用代码片段

新升级的火狐浏览器每次启动都弹窗提示更新,检查附加插件和此版本的兼容性,如何关闭?