代码之家  ›  专栏  ›  技术社区  ›  Community wiki

如何为触摸设备优化网站

  •  67
  • Community wiki  · 技术社区  · 1 年前

    在像iPhone/iPad/Android这样的触摸设备上,用手指点击一个小按钮可能很困难。据我所知,没有跨浏览器的方法可以检测带有CSS媒体查询的触摸设备。因此,我检查浏览器是否支持Javascript触摸事件。 到目前为止,其他浏览器还不支持它们,但开发频道上最新的谷歌Chrome enabled touch events (即使是非触摸设备)。我怀疑其他浏览器制造商也会效仿,因为带触摸屏的笔记本电脑即将问世 更新:这是Chrome中的一个错误,所以现在JavaScript检测再次工作

    这是我使用的测试:

    function isTouchDevice() {
        return "ontouchstart" in window;
    }
    

    问题是,这只测试浏览器是否支持触摸事件,而不是设备。

    有人知道给触摸设备更好的用户体验的正确[tm]方式吗?而不是嗅探用户代理。

    Mozilla对触摸设备进行了媒体查询。但我在任何其他浏览器中都没有看到类似的内容: https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled

    更新:我想避免为移动/触摸设备使用单独的页面/网站。该解决方案必须通过JavaScript中的对象检测或类似功能来检测触摸设备,或者包含自定义触摸CSS,而无需用户代理嗅探! 我问的主要原因是,在我联系css3工作组之前,确保今天不可能 。因此,如果您不能按照问题中的要求进行操作,请不要回答;)

    11 回复  |  直到 1 年前