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