这是我使用的测试:
function isTouchDevice() {
return "ontouchstart" in window;
}
问题在于这只测试浏览器是否支持触摸事件,而不是设备本身。
有没有人知道如何以正确的方式提供触摸设备更好的用户体验?除了嗅探用户代理之外。
Mozilla有一个针对触摸设备的媒体查询。但我在其他任何浏览器中都没有看到类似的东西: https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled 更新:我想避免为移动/触摸设备使用单独的页面/站点。解决方案必须通过JavaScript进行对象检测或类似方法来检测触摸设备,或者包含自定义触摸CSS而无需嗅探用户代理!我提问的主要原因是确保今天还不能实现,然后再联系css3工作组。所以如果您无法遵循问题中的要求,请不要回答;)