区别

360主要判断浏览器插件来区分(360具有极速、兼容模式)
Edge最新的判断为Edg
大多数内核都是Chrome,因此需要作多条件判断

//360浏览器(极速内核)
export function check360() {var result = false; for (var key in navigator.plugins) {// np-mswmp.dll只在360浏览器下存在if (navigator.plugins[key].filename == 'internal-nacl-plugin') {return !result;}}return result;
}//遨游浏览器
export function checkMaxthon() {var result = false; var list = [];for (var key in navigator.plugins) {// 遨游浏览器只有五个一致的pluginsif (!!navigator.plugins[key].filename) {list.push(navigator.plugins[key].filename);}}if(list.length == 5){result = true;}else {result = false;}return result;
}//获取当前的浏览器
export function getBrowser() {// 获取浏览器 userAgentvar ua = navigator.userAgent;// 是否为 Operavar isOpera = ua.indexOf('opr') > -1// 返回结果if (isOpera) { return 'Opera' }// 是否为 IEvar isIE = (ua.indexOf('compatible') > -1) && (ua.indexOf('MSIE') > -1) && !isOperavar isIE11 = (ua.indexOf('Trident') > -1) && (ua.indexOf("rv:11.0") > -1)// 返回结果if (isIE11) { return 'IE11'} else if (isIE) {// 检测是否匹配var re = new RegExp('MSIE (\\d+\\.\\d+);')re.test(ua)// 获取版本var ver = parseFloat(RegExp["$1"])// 返回结果if (ver == 7) { return 'IE7'} else if (ver == 8) { return 'IE8'} else if (ver == 9) { return 'IE9'} else if (ver == 10) { return 'IE10'} else { return "IE" }}//console.log(ua);// 是否为 Edgevar isEdge = ua.indexOf("Edg") > -1// 返回结果if (isEdge) { return 'Edge' }// 是否为 Firefoxvar isFirefox = ua.indexOf("Firefox") > -1// 返回结果if (isFirefox) { return 'Firefox' }// 是否为 Safarivar isSafari = (ua.indexOf("Safari") > -1) && (ua.indexOf("Chrome") == -1)// 返回结果if (isSafari) { return "Safari" }// 是否为 Chromevar isChrome = (ua.indexOf("Chrome") > -1) && (ua.indexOf("Safari") > -1) && (ua.indexOf("Edge") == -1) && (ua.indexOf("QQBrowser") == -1) && (ua.indexOf("2345Explorer") == -1) && (check360() == false) && (checkMaxthon() == false)// 返回结果if (isChrome) { return 'Chrome' }// 是否为 QQvar isQQ = ua.indexOf("QQBrowser") > -1// 返回结果if (isQQ) { return 'QQ浏览器' }// 是否为傲游浏览器var isMaxthon = checkMaxthon() > -1// 返回结果if (isMaxthon) { return '傲游浏览器' }// 是否为搜狗浏览器var isMaxthon = ua.indexOf("se 2.x") > -1// 返回结果if (isMaxthon) { return '搜狗浏览器' }// 是否为2345浏览器var is2345Explorer = ua.includes("2345Explorer") > -1;// 返回结果if(is2345Explorer){return '2345浏览器';}var is360 = check360() && (ua.indexOf("Safari") > -1)if(is360){return '360浏览器'}// 都不是return ''
}

js判断国内主要浏览器名称(QQ、360、遨游、搜狗、2345、Google Chrome、Edge、IE)(最新,亲测有效)相关推荐

  1. js判断是UC浏览器还是QQ浏览器以及是否在微信打开

    var Browser = '';var ua = navigator.userAgent.toLowerCase();//获取判断用的对象if (ua.match(/MicroMessenger/i ...

  2. 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  3. JS判断是否IE浏览器

    一.JS判断是否IE浏览器+具体版本 function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 v ...

  4. JS判断是PC浏览器还是手机端浏览器

    JS判断是电脑浏览器还是手机端浏览器,并根据不同的终端跳转到不同的网址 <!DOCTYPE html> <html> <script> function brows ...

  5. JS判断是电脑浏览器还是手机浏览器?

    JS判断是电脑浏览器还是手机浏览器? <script type=text/javascript>document.write('你的浏览器标识:',navigator.userAgent, ...

  6. 识别各大浏览器(百度,360,搜狗,谷歌等等)来源,抓取关键词

    识别各大浏览器(百度,360,搜狗,谷歌等等)来源,通过来源判断跳转审核页还是落地页.抓取关键词 目前各大广告投放平台审核越来越严格了,比如审核发现页面使落地页,会被拒户,但是又想自己的广告能更好的投 ...

  7. JS判断当前的浏览器类型

    <script type="text/javascript">//window.navigator.userAgent.indexOf("MSIE" ...

  8. js判断操作系统与浏览器

    摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() {va ...

  9. JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器,解决 ios 无法判断是否为qq浏览器环境的问题。

    原理 通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型 在Android上 QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个[空白符+QQ] ...

最新文章

  1. windows下opencv安装及配置(vs2010环境)
  2. pytest实战--参数化parametrize+前置fixture
  3. push与presentModal的 用法详解(转)
  4. elasticsearch date_histogram
  5. go 从入门到精通(二)基本数据类型和操作符
  6. mysql 在大型应用中的架构演变
  7. ERP与SCM之区别
  8. Linq 实现sql中的not in和in条件查询
  9. 《Wireshark协议分析从入门到精通》
  10. html5 标准结构_IT兄弟连 HTML5教程 HTML文件的主体结构
  11. php域名墙检测,php 网站域名被墙判断请求方法
  12. android 微信支付过程,android 微信 支付 接入流程总结
  13. 消息推送服务器令牌,小程序-消息推送配置Token令牌错误校验失败如何解决
  14. java数据库查询类
  15. XMPP 即时通讯协议介绍
  16. Python for S60(pys60)介绍
  17. 平面几何----蝴蝶定理的证明
  18. jmu-python-函数-找钱
  19. 文化袁探索专栏——React Native启动流程
  20. 一个Bug案例的解决过程:连续输入错误的PIN码,不能实现第二次倒计时30s才能重试

热门文章

  1. 【C++】C++ begin()和end()
  2. git基于某个Tag修改提交
  3. Navicat查看数据库密码
  4. 取消Outlook脱机工作
  5. 美国FBI招聘测试题
  6. 服务器多线程定时发送消息,C++Socket 多线程编程 定时和定量发送数据
  7. 按钮(Button, ImageButton)
  8. 周末北大学拳散记--搜狐畅游招聘
  9. 字符串最长对称 java_求字符串最长对称字符串的长度(转何海涛博客)
  10. vue2.0基于element ui 上月 本月 下月