js判断手机机型,是否在华为、iphone、小米、三星打开 您所在的位置:网站首页 小米手机终端 js判断手机机型,是否在华为、iphone、小米、三星打开

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

2023-08-16 08:45| 来源: 网络整理| 查看: 265

判断打开目前的是什么手机品牌

要在业务里知道是页面通过什么平台打开的,在前端使用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());

小米手机判断比较特殊,小米普通机型拿到的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; } 判断是在什么平台打开 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'; } }

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

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有