JS判断是否是真实移动设备

JS判断是否是真实移动设备

小小孩
2020-03-25 / 4 评论 / 2,254 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年06月09日,已超过1295天没有更新,若内容或图片失效,请留言反馈。

要想判断真实的移动设备打开,而不是电脑模拟的移动设备打开,肯定不能通过userAgent判断,因为电脑开发工具可修改。

想到了Navigator的只读属性maxTouchPoints是返回当前设备支持的最大同时触摸接触点数。

一般电脑没有触摸接触点数,而电脑模拟的移动设备也只有一个,而真实的移动设备却是 3-4个,以此来判断是否是真实的移动设备。

直接上代码
const checkPhone = () =>
    navigator.platform.indexOf('Mac') === navigator.platform.indexOf('Win') &&
    navigator.maxTouchPoints &&
    2 < navigator.maxTouchPoints
0

评论 (4)

取消
  1. 头像
    蓝卡
    Windows 10 · Google Chrome

    学习了 MARK一下

    回复
  2. 头像
    蓝卡
    Windows 10 · Google Chrome

    学习了 MARK一下

    回复
  3. 头像
    萧瑟
    Windows 10 · Google Chrome

    js好像也可以伪造。这样不一定好使。

    回复
    1. 头像
      羽叶 作者
      MacOS · Google Chrome
      @ 萧瑟

      好像的确可以伪造 😂

      回复