我到处都找过了。我们正在使用摩托罗拉的Zoom来尝试我们的平板网站测试。问题是Android Useragent是一个通用的Useragent,在平板Android和移动Android之间没有区别。我不想只针对像Xoom Useragent这样的特定设备,因为Android在不久的将来很可能会安装在多个平板设备上。
我们正在使用Umbraco,我们已经考虑过使用51Degrees.mobi解决方案,目前这不能满足我们的需求。也许在未来。我知道51Degrees和Umbraco的一些人将会在Umbraco中做一些集成,但是最终的项目可能在几个月内不会出来。
因此,为什么我们想要检测Android平板电脑的Useragent字符串,并让它不像现在那样直接指向我们的移动站点。
如果有人知道如何检测和Android平板电脑的一般,没有具体的设备将是非常有帮助的。
发布于 2011-12-31 12:34:22
您可以试用这个脚本,因为您不想只针对Xoom。我没有Xoom,但应该可以工作。
function mobile_detect(mobile,tablet,mobile_redirect,tablet_redirect,debug) {
var ismobile = (/iphone|ipod|android|blackberry|opera|mini|windows\sce|palm|smartphone|iemobile/i.test(navigator.userAgent.toLowerCase()));
var istablet = (/ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase()));
if (debug == true) {
alert(navigator.userAgent);
}
if (ismobile && mobile==true) {
if (debug == true) {
alert("Mobile Browser");
}
window.location = mobile_redirect;
} else if (istablet && tablet==true) {
if (debug == true) {
alert("Tablet Browser");
}
window.location = tablet_redirect;
}
}
我在github上创建了一个项目。看看- https://github.com/codefuze/js-mobile-tablet-redirect。如果有任何问题,请随时提交问题!
发布于 2012-03-29 23:51:31
一旦我在用户代理中检测到Android,这就是我区分平板电脑和智能手机浏览器的方式(这是使用Python,但对于其他编程语言也同样简单):
if ("Android" in agent):
if ("Mobile" in agent):
deviceType = "Phone"
else:
deviceType = "Tablet"
更新:根据下面的评论,反映Chrome在Android上的使用情况。
发布于 2012-04-11 22:54:54
下面是我使用的代码:
public static boolean onTablet()
{
int intScreenSize = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
return (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE) // LARGE
|| (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE + 1); // Configuration.SCREENLAYOUT_SIZE_XLARGE
}
https://stackoverflow.com/questions/5341637
复制相似问题