【发布时间】: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/";
}
有什么建议吗?
【问题讨论】: