通过鼠标事件检测移动设备

detecting mobile device through mouse events

本文关键字:移动 检测 事件 鼠标      更新时间:2023-09-26

我正在寻找检测设备是移动设备(电话或平板电脑)还是台式机。我想到使用mousemovemouseenter事件,以便当此事件触发时,我可以将全局布尔标志IsDesktop设置为true。

这是个好主意吗?或者鼠标事件也可以在移动设备上触发吗?

谢谢。

您必须认识到这里有两种不同的情况:

  1. 显示尺寸:大/小
  2. 鼠标和/或触摸

在第二种情况下,您不需要做太多其他事情,只需实现两组事件。在第一种情况下,你可能想要加载一个替代模板;一个更直观的小屏幕(触摸)设备。这是你应该检查的。

没有真正的方法来检测屏幕大小,因为像素在移动设备上更密集。查看User-Agent字符串是一个很好的开始。

如果你不担心屏幕大小,不需要单独的模板,那么你不需要做任何特别的事情。只需实现这两组事件。

鼠标事件中有sourceCapabilities字段,可用于检查浏览器是否启用了触摸。

只存在于基于chrome的浏览器中,不过是实验性的,所以不建议用于生产。