美文网首页
前端判断浏览器类型 新增360

前端判断浏览器类型 新增360

作者: kangaroo_v | 来源:发表于2018-12-27 18:25 被阅读0次

后端其实可以通过request 获取自行判断
但是万一后端大佬偷懒不乐意 || 各种原因要你自己实现呢

360浏览器坑人没商量

以下代码 detectos 是测试操作系统的 也可检测win8-win10了
detectbw检测浏览器类型
并非100% 自己的几个版本浏览器测试了没问题 有问题大家可以提出了 一起学习解决

function detectOS() {
        var sUserAgent = navigator.userAgent;
        var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
        var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
        if (isMac) return "Mac";
        var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
        if (isUnix) return "Unix";
        var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
        if (isLinux) return "Linux";
        if (isWin) {
            var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
            if (isWin2K) return "Win2000";
            var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
            if (isWinXP) return "WinXP";
            var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
            if (isWin2003) return "Win2003";
            var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
            if (isWinVista) return "WinVista";
            var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
            if (isWin7) return "Win7";
            var isWin8 = sUserAgent.indexOf("Windows NT 6.2") > -1 || sUserAgent.indexOf("Windows 8") > -1;
            if (isWin8) return "Win8";
            var isWin81 = sUserAgent.indexOf("Windows NT 6.3") > -1 || sUserAgent.indexOf("Windows 81") > -1;
            if (isWin81) return "Win8.1";
            var isWin10 = sUserAgent.indexOf("Windows NT 10.0") > -1 || sUserAgent.indexOf("Windows 10") > -1;
            if (isWin10) return "Win10";
        }
        return "other";
    }

    console.log("您的操作系统是:" + detectOS());

    function detectbw() {
        /**
         * 由于360浏览器只能在打开360的网站的情况下才能在navigator.userAgent截取到360se的字段
         * 偶然间发现一个可以判断是360浏览器的mimeType(媒体类型),type: "application/vnd.chromium.remoting-viewer"
         * @gecko 由于已经判断过是否是firefox浏览器了 所以如果还有gecko字段 默认是360浏览器(因为在360浏览器兼容模式下 会有gecko字段 应该是换内核了)
         */
        var UserAgent = navigator.userAgent.toLowerCase();
        if (/ucweb/.test(UserAgent)) return "UC浏览器";
        if (/chrome/.test(UserAgent.substr(-33, 6))) return "Chrome浏览器";
        if (/firefox/.test(UserAgent)) return "FireFox浏览器";
        if (/opera/.test(UserAgent)) return "Opera浏览器";
        if (/safari/.test(UserAgent) && !/chrome/.test(UserAgent)) return "Safari浏览器";
        if ((/chrome/.test(UserAgent) && _mime("type", "application/vnd.chromium.remoting-viewer")) || /gecko/.test(UserAgent)) return "360浏览器";
        if (/bidubrowser/.test(UserAgent)) return "百度浏览器";
        if (/metasr/.test(UserAgent)) return "搜狗浏览器";
        if (/msie 6.0/.test(UserAgent)) return "IE6";
        if (/msie 7.0/.test(UserAgent)) return "IE7";
        if (/msie 8.0/.test(UserAgent)) return "IE8";
        if (/msie 9.0/.test(UserAgent)) return "IE9";
        if (/msie 10.0/.test(UserAgent)) return "IE10";
        if (/msie 11.0/.test(UserAgent)) return "IE11";
        if (/lbbrowser/.test(UserAgent)) return "猎豹浏览器";
        if (/micromessenger/.test(UserAgent)) return "微信内置浏览器";
        if (/qqbrowser/.test(UserAgent)) return "QQ浏览器";
        if (UserAgent.indexOf("edge") > -1) return "Edge浏览器"
        return "other"
    }
    console.log("您的浏览器是:" + detectbw())
        //测试mime
    function _mime(option, value) {
        var mimeTypes = navigator.mimeTypes;
        for (var mt in mimeTypes) {
            if (mimeTypes[mt][option] == value) {
                return true;
            }
        }
        return false;
    }

喜欢的点个赞吧


相关文章

  • 前端判断浏览器类型 新增360

    后端其实可以通过request 获取自行判断但是万一后端大佬偷懒不乐意 || 各种原因要你自己实现呢 360浏览器...

  • js创建图片下载

    //判断浏览器类型 //IE浏览器图片保存本地 //谷歌,360极速等浏览器下载 // 下载图片

  • 示例集

    判断浏览器类型

  • JS、Jquery获取浏览器信息

    1、背景在做前端开发时,经常需要解决浏览器兼容性问题,要解决这个问题就先得判断浏览器类型及版本,本人做过几次,因为...

  • 判断浏览器

    判断用户的浏览器类型

  • 工具函数

    判断当前终端是否PC 判断当前设备平台 判断当前浏览器类型 获取浏览器版本信息 判断是否IphoneX 移动端键盘...

  • 浏览器渲染

    DOCUTYPE DTD:文档类型定义,告诉浏览器文档类型,浏览器根据文档类型来判断使用什么引擎来解析渲染 DOC...

  • 浏览器+移动端一些判断(整理)

    整理了一些比较全点的浏览器判断和移动端的一些判断: 判断IE浏览器版本: 判断浏览器类型: 若有不对或不严谨的地方...

  • 鼠标滚轮监听

    //判断浏览器类型 var client = function () { var engine...

  • js判断浏览器的内核和是否支持某些CSS3属性

    一、判断浏览器内核 在前端开发过程中,有时我们需要判断浏览器的内核前缀,对不同的浏览器做出不同的处理,因此我们可以...

网友评论

      本文标题:前端判断浏览器类型 新增360

      本文链接:https://www.haomeiwen.com/subject/jbsdlqtx.html