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

时间:2013-01-09 16:42:26

标签: javascript mobile

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

这是一个好主意还是鼠标事件也会在移动设备上触发?

感谢。

2 个答案:

答案 0 :(得分:0)

你必须意识到这里有两个不同的案例:

  1. 显示尺寸:大/小
  2. 鼠标和/或触摸
  3. 在第二种情况下,您不需要做太多其他事情,只需实现两组事件即可。在第一种情况下,您可能想要加载替代模板;对于小屏幕(触摸)设备更直观的一个。这是你应该检查的事情。

    实际上没有办法检测屏幕尺寸,因为移动设备上的像素密度要大得多。查看User-Agent字符串是一个良好的开端。

    如果您不担心屏幕尺寸并且不需要单独的模板,那么您不需要做任何特别的事情。只需实现两组事件。

答案 1 :(得分:0)

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

不过仅在基于 Chromium 的浏览器中存在,处于实验阶段,因此不推荐用于生产。