通過JS檢測360瀏覽器


 如何通過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極速瀏覽器,哎╮(╯▽╰)╭

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM