要想判断真实的移动设备打开,而不是电脑模拟的移动设备打开,肯定不能通过userAgent
判断,因为电脑开发工具可修改。
想到了Navigator
的只读属性maxTouchPoints
是返回当前设备支持的最大同时触摸接触点数。
一般电脑没有触摸接触点数,而电脑模拟的移动设备也只有一个,而真实的移动设备却是 3-4个,以此来判断是否是真实的移动设备。
直接上代码
const checkPhone = () =>
navigator.platform.indexOf('Mac') === navigator.platform.indexOf('Win') &&
navigator.maxTouchPoints &&
2 < navigator.maxTouchPoints
学习了 MARK一下
学习了 MARK一下
js好像也可以伪造。这样不一定好使。
好像的确可以伪造 😂