当前位置:   article > 正文

js判断手机机型,是否在华为、iphone、小米、三星打开_小米手机useragent js

小米手机useragent js

判断打开目前的是什么手机品牌
要在业务里知道是页面通过什么平台打开的,在前端使用userAgent来进行判断。以下正文涉及3类:主流的手机品牌判断方法、是否在微信打开、是否在PC或Pad打开。

判断业务是否是 iphone、华为、小米、oppo、view、三星 打开

function judgeBrand(sUserAgent) {
       var isIphone = sUserAgent.match(/iphone/i) == "iphone";
       var isHuawei = sUserAgent.match(/huawei/i) == "huawei";
       var isHonor = sUserAgent.match(/honor/i) == "honor";
       var isOppo = sUserAgent.match(/oppo/i) == "oppo";
       var isOppoR15 = sUserAgent.match(/pacm00/i) == "pacm00";
       var isVivo = sUserAgent.match(/vivo/i) == "vivo";
       var isXiaomi = sUserAgent.match(/mi\s/i) == "mi ";
       var isXiaomi2s = sUserAgent.match(/mix\s/i) == "mix ";
       var isRedmi = sUserAgent.match(/redmi/i) == "redmi";
       var isSamsung = sUserAgent.match(/sm-/i) == "sm-";

       if (isIphone) {
           return 'iphone';
       } else if (isHuawei || isHonor) {
           return 'huawei';
       } else if (isOppo || isOppoR15) {
           return 'oppo';
       } else if (isVivo) {
           return 'vivo';
       } else if (isXiaomi || isRedmi || isXiaomi2s) {
           return 'xiaomi';
       } else if (isSamsung) {
           return 'samsung';
       } else {
           return 'default';
       }
   }
   
   var brand = judgeBrand(navigator.userAgent.toLowerCase()); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

小米手机判断比较特殊,小米普通机型拿到的ua都类似于MI 6 Build、Mi Note 2 Build这样的,所以要匹配mi\s,空格必须加上。如果只匹配mi的话,用户通过小米浏览器或者其他有带有mi字符的都会认为是小米手机,例如:Microsoft

三星手机的品牌判断要使用sm-,因为三星机型都是SM-J3109、SM-G9650 Build、SM-N9500 Build这样的。如果只匹配sm,就会匹配到某些版本锤子手机。

以下网站收集了市面目前主流品牌的userAgent,各品牌的各机型的userAgent在里面能找到

手机品牌userAgent库 http://www.fynas.com/ua

判断业务是否是 微信 打开

function isWeChat() {
        var ua = navigator.userAgent.toLowerCase();
        return (/micromessenger/.test(ua)) ? true : false;
    }
  • 1
  • 2
  • 3
  • 4

判断是在什么平台打开 pad 、pc 、mobile phone

 function checkAgent() {
       var sUserAgent = navigator.userAgent.toLowerCase();
       var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
       var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
       var bIsMidp = sUserAgent.match(/midp/i) == "midp";
       var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
       var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
       var bIsAndroid = sUserAgent.match(/android/i) == "android";
       var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
       var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";

       if (!(bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM || bIsIpad)) {
           return 'pc';
       } else if(bIsIpad){
           return 'pad';
       }else{
           return 'phone';
       }
   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注:以上functioncheckAgent,在使用华为P20 Pro 默认浏览器打开时,会被误判为PC。因为在华为P20 Pro的默认浏览器上,并没有重写userAgent,拿到的userAgent跟在PC上拿到的一样。目前只发现华为机型的默认浏览器有这个错误。

参考资料
手机品牌userAgent库 http://www.fynas.com/ua

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号