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

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

  • 相关阅读:
    理解OO 思想 架构好一个程序之基石!~
    WP7 ZIP 压缩与解压缩
    Gis LBS 应用 剧本 (自己乱想的)
    PHP 入门 环境搭建
    Android 入门必须知道的 英文缩写
    Android 开发 数据结构理解 队列和栈 分析及实现
    c函数中形参为引用的情况;C++中*a和*&a的区别
    如何在.NET中使用尾递归
    [ProjectEuler.net] 25 找到第一个fib数,数位为1000位
    NFA_DFA
  • 原文地址:https://www.cnblogs.com/wanglei7175/p/5917404.html
Copyright © 2020-2023  润新知