【发布时间】:2013-05-21 05:05:35
【问题描述】:
我正在寻找用于检测某人是否正在使用移动设备查看网站的最佳方法/实践。如果检测到移动设备,我希望能够调整网站的模板,以便更容易查看。
检测移动设备最可靠、最有效的方法是什么?
【问题讨论】:
-
请保持礼貌。他的编辑非常好。见the relevant FAQ section。
我正在寻找用于检测某人是否正在使用移动设备查看网站的最佳方法/实践。如果检测到移动设备,我希望能够调整网站的模板,以便更容易查看。
检测移动设备最可靠、最有效的方法是什么?
【问题讨论】:
您可以使用this 项目来做到这一点:
if ($detect->isMobile()) {
// Any mobile device.
}
【讨论】:
我建议使用这个类来进行良好和完整的移动检测php-mobile-detect
或者你必须过滤用户代理
【讨论】:
您可以尝试http://detectmobilebrowsers.com/ 库。有一段代码可以检测移动浏览器,几乎可以检测移动浏览器所需的一切。
【讨论】:
您可以获取服务器代理并使用 preg_match 来检查它。 例如:
$isMobile=(bool)preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
我从here得到了更好的代码版本:
$isMobile = (bool)preg_match('#\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet'.
'|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'.
'|mobile|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT'] );
然后你就可以了:
if(isMobile())
header("Location: http://m.site.com/");
【讨论】: