通过鼠标事件检测移动设备
detecting mobile device through mouse events
我正在寻找检测设备是移动设备(电话或平板电脑)还是台式机。我想到使用mousemove
或mouseenter
事件,以便当此事件触发时,我可以将全局布尔标志IsDesktop
设置为true。
这是个好主意吗?或者鼠标事件也可以在移动设备上触发吗?
谢谢。
您必须认识到这里有两种不同的情况:
- 显示尺寸:大/小
- 鼠标和/或触摸
在第二种情况下,您不需要做太多其他事情,只需实现两组事件。在第一种情况下,你可能想要加载一个替代模板;一个更直观的小屏幕(触摸)设备。这是你应该检查的。
没有真正的方法来检测屏幕大小,因为像素在移动设备上更密集。查看User-Agent字符串是一个很好的开始。
如果你不担心屏幕大小,不需要单独的模板,那么你不需要做任何特别的事情。只需实现这两组事件。
鼠标事件中有sourceCapabilities
字段,可用于检查浏览器是否启用了触摸。
只存在于基于chrome的浏览器中,不过是实验性的,所以不建议用于生产。
相关文章:
- 检测非移动页面上的移动设备屏幕宽度和高度
- 如何在不检查HTTP标头的情况下检测移动浏览器
- 使用Modernizr检测移动设备最可靠的方法是什么
- 在用户关闭/更改移动浏览器选项卡之前进行检测
- 如何在启动mouseup时检测鼠标是否在移动
- 检测移动浏览器名称和版本
- 如何检测用户是否移动了滚动条
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- JavaScript:检测移动嵌入式浏览器(强制门户)
- 如何检测移动到其他域页面
- 如何检测Facebook Javascript SDK'的移动iframe
- 检测iOS移动设备的JavaScript比自动播放音频
- 移动检测失败
- 移动检测/重定向与用户决策通过jQuery UI对话框
- Javascript移动检测
- 如何在用户请求时禁用移动检测(JavaScript)
- Div id显示仅在移动检测结果没有使用javascript
- 2个不同平台之间的移动检测
- wordpress移动检测加载特定的JS
- JavaScript桌面或移动检测