【问题标题】:How to Detect a TouchScreen Phone for Mobile Site如何检测移动站点的触屏手机
【发布时间】:2011-03-18 20:29:34
【问题描述】:

我有两个移动页面,一个是为触摸屏手机设计的,一个是为非触摸屏手机设计的。我需要根据哪种类型进行检测和重定向。

我想在这里集思广益。我考虑过可能检测屏幕分辨率并使用它,但像 Blackberry Bold(非触控但具有 480x320 显示屏)这样的手机不符合该规则。

显而易见的解决方案是维护两个用户代理列表并使用它们进行重定向。问题是,创建这些列表会非常耗时。我还想象,一旦我开始研究它,就会遇到各种例外情况,即像 opera mini 这样的浏览器在两套手机上(一个是触摸式的,一个是非触摸式的)。如果这是我唯一的选择,您知道从哪里开始收集有关手机的数据吗?

var touchScreenRegEx = new RegExp("(ipod|iphone|opera mini)");
var noTouchScreenRegEx = new RegExp("(blackberry|palm)");

var userAgent=navigator.userAgent.toLowerCase();
if (userAgent.match(touchScreenRegEx))
{        window.location = "/mobile/touch/"; 
} 
else if(userAgent.match(noTouchScreenRegEx)
{
   window.location = "/mobile/no-touch/";
}

有什么建议吗?

【问题讨论】:

    标签: iphone android mobile


    【解决方案1】:

    “显而易见的解决方案是维护两个用户代理列表并使用它们进行重定向”

    你想要的是 WURFL:

    http://wurfl.sourceforge.net/

    请记住,有些手机既可以触摸也可以通过键盘访问,因此理想情况下,如果可以提供帮助,您应该尽量避免制作两个单独的界面。

    【讨论】:

      【解决方案2】:

      如需全面了解艺术的开始,请查看:

      http://yiibu.com/articles/rethinking-the-mobile-web/

      不过,总而言之,使用 WURFL 或 DeviceAtlas 根据用户代理推断触摸支持可能是完成您正在寻找的工作的最简单、最快捷的方法。

      【讨论】:

        猜你喜欢
        • 2023-03-21
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        • 1970-01-01
        • 2014-09-23
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        相关资源
        最近更新 更多