有没有办法区分真实的移动设备和由Google Chrome模拟的设备? 请注意,Google Chrome可以模拟用户代理、触摸屏、屏幕分辨率和加速度计。 我需要知道一些无法被模拟但可以被JavaScript检测到的特征。
有没有办法区分真实的移动设备和由Google Chrome模拟的设备? 请注意,Google Chrome可以模拟用户代理、触摸屏、屏幕分辨率和加速度计。 我需要知道一些无法被模拟但可以被JavaScript检测到的特征。
可以通过检查navigator.plugins.length来确定浏览器类型。 移动浏览器没有插件,因此navigator.plugins.length等于0; 桌面浏览器通常有插件,因此我们可以通过插件数组的长度来区分浏览器。
navigator.plugins.length === 0
不再起作用。 - fregantenavigator.maxTouchPoints > 1
,因为 Chrome 模拟设备始终只有一个触摸点(即您的鼠标光标),而实际(现代)移动设备始终有多个触摸点,而没有触摸支持的设备始终为 0。不客气。 - Ivannavigator.maxTouchPoints
为10,但是当移动仿真运行时,它为1。所以这是个好消息。 - Marc Durdin
navigator.vendor
即使在模拟iPhone时也总是返回Google Inc.
。 - colder