JS判断是否是真实手机
Mar 25, 2020 / 1 min read / 1143

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

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

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

直接上代码
const checkPhone = () =>
    navigator.platform.indexOf('Mac') === navigator.platform.indexOf('Win') &&
    navigator.maxTouchPoints &&
    2 < navigator.maxTouchPoints
已有 2 条评论
  1. 萧瑟
    萧瑟 回复
    April 2nd, 2020 at 05:58 pm

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

    1. 羽叶
      羽叶 博主回复
      April 2nd, 2020 at 11:29 pm
      @萧瑟

      好像的确可以伪造 😂