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"属性重新打开页面才可以,试验可行

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

  • 相关阅读:
    1009 说反话 (20)
    1008 数组元素循环右移问题 (20)
    1007 素数对猜想(20 分)
    1006 换个格式输出整数 (15)
    PAT 1005 继续(3n+1)猜想 (25)
    PAT 1004 成绩排名 (20)
    PAT 1003 我要通过!(20)
    PAT 1002 写出这个数 (20)(20 分)
    PAT 1001 害死人不偿命的(3n+1)猜想 (15)
    人口普查(20) PAT
  • 原文地址:https://www.cnblogs.com/doseoer/p/6831994.html
Copyright © 2011-2022 走看看