userAgent 屬性是一個只讀的字符串,聲明了瀏覽器用於 HTTP 請求的用戶代理頭的值
var ua = navigator.userAgent.toLowerCase();
返回的是個字符串
觀察幾個軟件:
(1)iphone ,誇克瀏覽器
(2)iphone ,QQ瀏覽器
(3)iphone ,QQ內置瀏覽器
(4)iphone ,微信 內置瀏覽器
(5)iphone ,搜狗瀏覽器
//////
/////下面的是安卓的
(6) android ,QQ瀏覽器
(7)android,微信 內置瀏覽器
。。。。
其他的就不找了,每個瀏覽器都有自己獨特的 字符,不同系統也是一樣,包括pc
下面是用來區分不同系統的不同瀏覽器的啊操作源碼
識別源碼模板:
1 /** 2 * 經過測試,iphone 手機 的QQ瀏覽器和QQ內置瀏覽器,無法連接websocket 3 * 因此這個文件功能是不允許他們訪問本網頁 4 * 5 */ 6 7 8 //獲取瀏覽器用於 HTTP 請求的用戶代理頭的值 9 var ua = navigator.userAgent.toLowerCase(); 10 var canUse =true ,reason = ""; 11 // alert(ua); 12 // isWx = false,isQQ = false, isQQInstalled = false; 13 function BrowserCompatible() { 14 //有 qq 關鍵字 且不存在 mqqbrowser 關鍵字 則為QQ內置瀏覽器 15 if (ua.indexOf(' qq') > -1 && ua.indexOf('mqqbrowser') < 0 && ua.indexOf('micromessenger') < 0) { 16 //qq內置瀏覽器 17 // isQQInstalled = true; 18 if (ua.indexOf('iphone')){ 19 //iphone 手機 20 canUse = false; 21 reason = "蘋果手機 qq內置瀏覽器,禁止訪問,請使用微信或Safari"; 22 alert(reason); 23 window.close(); 24 } 25 return; 26 } 27 // 28 if (ua.indexOf('mqqbrowser') > -1 && ua.indexOf(" qq") < 0 && ua.indexOf('micromessenger') < 0) { 29 //qq瀏覽器 30 // isQQ = true; 31 if (ua.indexOf('iphone')){ 32 //iphone 手機 33 canUse = false; 34 reason = "蘋果手機 qq瀏覽器,禁止訪問,請使用微信或Safari"; 35 alert(reason); 36 window.close(); 37 } 38 return; 39 } 40 // if (ua.match(/MicroMessenger/i) == 'micromessenger') { 41 if (ua.indexOf('micromessenger') > -1) { 42 //微信瀏覽器 43 // isWx = true; 44 if (ua.indexOf('iphone')){ 45 //iphone 手機 46 alert("蘋果手機 微信內置瀏覽器"); 47 window.close(); 48 } 49 return; 50 } 51 alert("其他") 52 } 53 54 BrowserCompatible();