如何通过JS检测360浏览器?

尝试了一大堆方法,网上大多数办法都是通过navigator.userAgent来判断,这可能在几年前是行得通的,现在360userAgent输出来跟谷歌除了版本号其余一模一样...

谷歌:      Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

360极速:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

360安全:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

但是,在有360网站下输出navigator.userAgent,能判断出360极速和360安全浏览器:

360极速:"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 QIHU 360EE"

360安全:"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 QIHU 360SE"

这就是360坑的地方....

在其它域名下检测,userAgent返回的全是原生的谷歌浏览器的userAgent,而在360相关域名下就含有360自己的标识。

所以现在想要通过userAgent来检测360是检测不出来的。

360更改了UserAgent之后,无法从用户代理识别了,360浏览器到了8(安全8和极速8)以后,版本号随着Chrome而升级,难以判断了。

网上其它的方式测试几乎都不行,就不写出来了。

偶然间发现一个可以判断是360浏览器的mimeType(媒体类型),type: "application/vnd.chromium.remoting-viewer"

在360极速浏览器>帮助>关于360浏览器,弹出如下:经过测试,只有在360浏览器中才会有输出chromium这个标识,但是也不能100%确定检测出的一定是360浏览器。

贴出代码:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3
 4     <head>
 5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6         <title>浏览器检测</title>
 7     </head>
 8
 9     <script>
10         window.onload = function () {
11
12             //application/vnd.chromium.remoting-viewer 可能为360特有
13             var is360 = _mime("type", "application/vnd.chromium.remoting-viewer");
14
15             if (isChrome() && is360) {
16                 alert("检测到是360浏览器");
17             }
18         }
19         //检测是否是谷歌内核(可排除360及谷歌以外的浏览器)
20         function isChrome(){
21             var ua = navigator.userAgent.toLowerCase();
22
23             return ua.indexOf("chrome") > 1;
24         }
25         //测试mime
26         function _mime(option, value) {
27             var mimeTypes = navigator.mimeTypes;
28             for (var mt in mimeTypes) {
29                 if (mimeTypes[mt][option] == value) {
30                     return true;
31                 }
32             }
33             return false;
34         }
35     </script>
36
37     <body>
38     </body>
39
40 </html>

如果大家有什么更好的方法,分享下吧!

还有好像无法区分360安全浏览器和360极速浏览器,哎╮(╯▽╰)╭

转载于:https://www.cnblogs.com/chiangchou/p/test-360.html

通过JS检测360浏览器相关推荐

  1. js识别360浏览器

    时隔2年才想起来,博客已经空窗好久-.曾经信誓旦旦的想要每周一篇-. 也罢,废话不多说,之所以会去写这个js,当时纯粹是被逼的,然而写出来后,竟然还有点高兴- 整整花了我将近一周的时间,天天都是在查看 ...

  2. 齐向东透露工信部检测360浏览器

    [中国IDC群]12月12日报导:今天,360公司总裁齐向东承受了网易科技的采访.据他叙述,工信部和国家安全评测中心已对360浏览器的检测经过. 在此之前,360浏览器被曝窃取用户隐私,董事长周鸿祎曾 ...

  3. JS屏蔽360浏览器代码

    为什么80%的码农都做不了架构师?>>>    <script type="text/java script"> if(navigator.userA ...

  4. sgSpeedMode.js判断360浏览器是“兼容模式”,提示使用“极速模式”

    为了达到目的,当用户使用的是浏览器"兼容模式"就会出现以下提示 //极速模式提示信息-最简练的判断方式 if (navigator.userAgent.indexOf(" ...

  5. JS——检测当前浏览器环境为微信OR企业微信

    let ua = navigator.userAgent.toLowerCase(); let isWx = ua.match(/MicroMessenger/i) == "micromes ...

  6. js+jquery检测用户浏览器型号(包括对360浏览器的检测)

    做网站,js检测用户浏览器的版本,是经常要使用到,今天自己写了一个js,完成了对于一些常见浏览器的检测,但是,偏偏对于360浏览器的检测没有任 何办法,研究了一会儿,无果.无论是360安全浏览器,还是 ...

  7. 网页会屏蔽php代码,网站屏蔽360浏览器访问php源码js代码

    靠做流氓软件起家的360董事长周鸿祎早就名声在外,做人不能太周鸿祎!已经成为互联网一句口头禅! 周鸿祎可谓树敌无数,从3721时期与CNNIC的宿怨.离开雅虎后与阿里巴巴的官司,到杀毒软件领域与金山. ...

  8. 使用modernizr.js检测浏览器对html5以及css3的支持情况

    使用modernizr.js检测浏览器对html5和css3的支持情况 详情请看主页:modernizr主页 1. modernizr 是什么? modernize 是一个js库----一个用于检测当 ...

  9. modernizr 支持html5,使用modernizr.js检测浏览器对html5以及css3的支持情况

    使用modernizr.js检测浏览器对html5和css3的支持情况 1.modernizr 是什么? modernize 是一个js库----一个用于检测当前浏览器对html5&css3 ...

  10. 低版本360浏览器下,PDF.js部分文字显示不全的问题

    在低版本360极速模式下,使用 pdf.js 看pdf文件时,除了数字和符合,其它文字都不显示. 在其它浏览器显示是正常的. 此时,可以进行如下操作 打开360浏览器的设置 找到实验室 找到系统选项 ...

最新文章

  1. ReentrantLock和Condition理解及应用
  2. 关于行号输出的简单命令
  3. 符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)
  4. NB-IoT SNR RSRQ RSRP等信号参数解释
  5. 防火墙dhcp服务器性能,F100-A-G 防火墙当做DHCP服务器,下接E528交换机,能不能划分多个VLAN?...
  6. asp.net core mcroservices 架构之 分布式日志(二)之自定义日志开发
  7. word打开老是配置进度_word怎么转pdf?两个值得学习的高效转换法
  8. 回文自动机算法+马拉车算法概述及习题【回文串系列问题】
  9. 简道云-第5章-流程
  10. Android 源码编译mk里导入androidx下的包
  11. 四级信息安全工程师考试大纲
  12. 褚霸:不要为了开源而开源
  13. 设置VC工程为Debug或Releas版本的方法
  14. Qt浅谈之三十系统托盘(QSystemTrayIcon)
  15. 前端调用高德地图 百度地图
  16. 高通开发系列 - network之移动网络拨号失败和netmgrd服务分析
  17. 程序猿出马,鲁迅终于不用背黑锅了?!
  18. SPDY 是什么?如何部署 SPDY?
  19. 【转载】网络测试工具 iperf3
  20. 古代密码学破解方式-频率分析法

热门文章

  1. 20181018 考试记录
  2. 前端JS时间验证,结束时间不早于开始时间
  3. 插件效果【网站开发必备】——12款响应式 Lightbox(灯箱)效果插件
  4. 自媒体文章标题的大坑,难怪你写的文章没有推荐
  5. 设置eMMC和DDR的工作频率
  6. Mendeley--免费的文献管理工具,给论文自动插入参考文献
  7. itext设置字体间距_Word文档怎样调节行间距?单行间距怎么调?
  8. 2.IDEA修改主题
  9. 计算机学院公众号头像制作,公众号头像需要原创吗?公众号头像怎么制作?
  10. C语言入门知识集合。