zoukankan      html  css  js  c++  java
  • 火狐浏览器如何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"属性重新打开页面才可以,试验可行

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

  • 相关阅读:
    PAT 甲级 1126 Eulerian Path (25 分)
    PAT 甲级 1126 Eulerian Path (25 分)
    PAT 甲级 1125 Chain the Ropes (25 分)
    PAT 甲级 1125 Chain the Ropes (25 分)
    PAT 甲级 1124 Raffle for Weibo Followers (20 分)
    PAT 甲级 1124 Raffle for Weibo Followers (20 分)
    PAT 甲级 1131 Subway Map (30 分)
    PAT 甲级 1131 Subway Map (30 分)
    AcWing 906. 区间分组 区间贪心
    AcWing 907. 区间覆盖 区间贪心
  • 原文地址:https://www.cnblogs.com/doseoer/p/6831994.html
Copyright © 2011-2022 走看看