通过js判断打开页面的手机浏览器类型

Posted on 2018-03-30 17:54  alavender  阅读(3689)  评论(0编辑  收藏  举报

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

最近在进行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 }