当前位置: 首页 > news >正文

JS_判断打开的是什么手机品牌,判断是否是手机,平板,pc

判断业务是否是 iphone、华为、小米、oppo、view、三星 打开
手机品牌userAgent库 http://www.fynas.com/ua

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-';var isLG = sUserAgent.match(/lg/i) == 'lg';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 'mi';} else if (isSamsung) {return 'Samsung';} else if (isLG) {return 'LG';} else {return '其他型号手机';}
}var brand = judgeBrand(navigator.userAgent.toLowerCase());

判断是否是手机,平板,pc

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上拿到的一样。目前只发现华为机型的默认浏览器有这个错误

http://www.lryc.cn/news/119339.html

相关文章:

  • HCIA 动态路由协议之RIP协议
  • 提供高品质正规话费充值接口,H5链接,稳定高效!
  • 苍穹外卖day12笔记
  • Prometheus技术文档-基本使用-配置文件全解!!!!!
  • 宋浩高等数学笔记(十一)曲线积分与曲面积分
  • 安卓如何快速定位native内存泄露。
  • redis学习笔记(二)
  • 不侵入代码的rem适配,支持桌面缩放,vue2的适配方案,包含echarts适配
  • 智能合约 -- 常规漏洞分析 + 实例
  • JavaScript 操作历史记录api怎样使用 JavaScript
  • Spring 容器
  • 【腾讯云Cloud Studio实战训练营】使用React快速构建点餐H5
  • Java培训课程哪个品牌好?快拿小本本记好
  • leetcode19. 删除链表的倒数第 N 个结点
  • c51单片机串行通信示例代码(单片机--单片机通信)(附带proteus线路图)
  • UML之四种事物
  • 盒子模型和新盒子模型及区别
  • 移动端Vue组件库-vant
  • Java课题笔记~ JSP内置对象
  • 数据结构笔记--链表经典高频题
  • Android Ble蓝牙App(三)特性和属性
  • 日常BUG——使用Long类型作id,后端返回给前段后精度丢失问题
  • 【C++初阶】string类的常见基本使用
  • 【ArcGIS Pro二次开发】(60):按图层导出布局
  • docker-desktop数据目录迁移
  • 03.利用Redis实现缓存功能---解决缓存穿透版
  • 全景图!最近20年,自然语言处理领域的发展
  • Mybatis参数传递
  • 手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】
  • 部署模型并与 TVM 集成