通過js判斷打開頁面的手機瀏覽器類型


  再一次打開自己的博客,發現已有一年多沒有更新了。時間着實過得有點快,自己已然從校園走向社會快一年,也在遠離家的路上越走越遠(一路向南->海南)。過去的這段時間有所懈怠,還是以一種學生的心態對待工作,細想一下,初入職場,還是需要付出更多的心思和精力去適應去學習,這樣才能站穩腳跟。---發發牢騷

最近在進行App下載頁面的埋點,要進行微信渠道和其他渠道的區分,所以要用到瀏覽器版本信息的判斷的方法。借鑒完之后為了進一步掌握,還是需要做相應的總結。

以下是一段示例代碼,這里定義了browser變量來存放瀏覽器的版本信息, 並給出了常用瀏覽器信息的判斷方式。

 1 var browser = {
 2     versions: function () {
 3         var u = navigator.userAgent, app = navigator.appVersion;
 4         return {   //移動終端瀏覽器版本信息
 5             trident: u.indexOf('Trident') > -1, //IE內核
 6             presto: u.indexOf('Presto') > -1, //opera內核
 7             webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
 8             gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
 9             mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
10             ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
11             android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或uc瀏覽器
12             iPhone: u.indexOf('iPhone') > -1, //是否為iPhone或者QQHD瀏覽器
13             iPad: u.indexOf('iPad') > -1, //是否iPad
14             webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部
15     };
16  }(),
17     language: (navigator.browserLanguage || navigator.language).toLowerCase()
18 }
19 =========================================================================
20 if (browser.versions.mobile) {//判斷是否是移動設備打開。
21     var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對象
22     if (ua.match(/MicroMessenger/i) == "micromessenger") {
    //或if(ua.indexOf('micromessenger') != -1){} 23 //在微信中打開 24 } 25 if (ua.match(/WeiBo/i) == "weibo") { 26 //在新浪微博客戶端打開 27 } 28 if (ua.match(/QQ/i) == "qq") { 29 //在QQ空間打開 30 } 31 if (browser.versions.ios) { 32 //是否在IOS瀏覽器打開 33 } 34 if(browser.versions.android){ 35 //是否在安卓瀏覽器打開 36 } 37 }else{ 38 //否則就是PC瀏覽器打開 39 }

 


免責聲明!

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



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