在像iPhone/iPad/Android这样的触摸设备上,用手指点击小按钮可能很困难。据我所知,没有跨浏览器的方式可以使用CSS媒体查询检测触摸设备。因此,我会检查浏览器是否支持JavaScript触摸事件。直到现在,其他浏览器还没有支持它们,但是最新的Google Chrome在dev频道启用了触摸事件(即使对于非触摸设备)。我怀疑其他浏览器制造商也会跟进,因为带有触摸屏幕的笔记本电脑正在兴起。更新:这是Chrome中的一个错误,所以现在JavaScript检测又可以正常工作了。
问题在于这只测试浏览器是否支持触摸事件,而不是设备本身。
有没有人知道如何以正确的方式提供触摸设备更好的用户体验?除了嗅探用户代理之外。
Mozilla有一个针对触摸设备的媒体查询。但我在其他任何浏览器中都没有看到类似的东西: https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled 更新:我想避免为移动/触摸设备使用单独的页面/站点。解决方案必须通过JavaScript进行对象检测或类似方法来检测触摸设备,或者包含自定义触摸CSS而无需嗅探用户代理!我提问的主要原因是确保今天还不能实现,然后再联系css3工作组。所以如果您无法遵循问题中的要求,请不要回答;)
这是我使用的测试:
function isTouchDevice() {
return "ontouchstart" in window;
}
问题在于这只测试浏览器是否支持触摸事件,而不是设备本身。
有没有人知道如何以正确的方式提供触摸设备更好的用户体验?除了嗅探用户代理之外。
Mozilla有一个针对触摸设备的媒体查询。但我在其他任何浏览器中都没有看到类似的东西: https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled 更新:我想避免为移动/触摸设备使用单独的页面/站点。解决方案必须通过JavaScript进行对象检测或类似方法来检测触摸设备,或者包含自定义触摸CSS而无需嗅探用户代理!我提问的主要原因是确保今天还不能实现,然后再联系css3工作组。所以如果您无法遵循问题中的要求,请不要回答;)