再一次打开自己的博客,发现已有一年多没有更新了。时间着实过得有点快,自己已然从校园走向社会快一年,也在远离家的路上越走越远(一路向南->海南)。过去的这段时间有所懈怠,还是以一种学生的心态对待工作,细想一下,初入职场,还是需要付出更多的心思和精力去适应去学习,这样才能站稳脚跟。---发发牢骚
最近在进行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 }