持续记录前端开发中小坑

1.js区分pc端还是移动手机端

    这个正则匹配百度一搜一大堆,基本没啥问题,都是通过naviagtor.userAgent做正则匹配判断的

    坑:华为荣耀v8自带浏览器,魅族手机自带浏览器匹配不上(我复制的那个正则匹配不了)

    分析:

pc端->userAgent->"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/55.0.2883.87 Safari/537.36"  测试百度浏览器,360极速和兼容模式,chrome,火狐,ie等浏览器,基本差不多, 都有关键词‘Windows NT';  

测试的两部手机->"Mozilla/5.0 (Windows nt 6.1; wow64) applewebKit/537.36 (khtml, like gecko) chrome/55.0.2883.87safari/537.36" 乍一看,其中数字不太一样,基本都差不多。我们的匹配只做了windows和windows ce的匹配,故这两 手  机 打开时被认为是pc端,导致后续流程出问题了

解决:不敢确定所有手机都是这样,我们暂定解决方案就是 匹配 “windows nt”其中nt为小写;

代码:navigator.userAgent.match(/windows nt/)=='windows nt'返回true就是移动端,否则pc端

2.通过in判断是否在移动端打开页面

isMobile = 'ontouchstart' in document;

// 很多人喜欢用浏览器UA的方式来判断,但并不是很好的方式


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值