我有一个高流量的网站(每天超过1百万的访问者),我需要检测他们的用户代理。我有一个超过1000个移动设备的列表。
我运行memcache根据他们访问的页面和他们放置的参数输出动态内容,例如:
/文件/页面/ 1?TEXTSIZE =大
我没有静态页面,也不能使用子域名。
我找到了检查用户代理的不同脚本:
http://www.mobile-phone-specs.com/user-agent-browser/0/
http://detectmobilebrowsers.mobi/
http://detectmobilebrowsers.com/
我的问题是,每次页面加载时都会执行这些检查,这会导致我的网站速度变慢
编辑我需要知道我的PHP代码是否是移动设备或浏览器。
如何让这项检查更快地运行?
答案 0 :(得分:12)
使用上面的所有答案。
使用CSS正确显示您的页面。因为它的唯一显示让浏览器加载处理它。只是要小心css / js / images / html页面的大小,对于慢速设备,可能需要永远加载不加载图像或大js文件的页面(如旧翻盖手机,你可以看到s ** t在它上面)
你的php上的使用逻辑脚本找出你得到的最多浏览器,然后将其保存在会话中,这样你就不必每次都检查它。
类似的东西:
if(!$_SESSION['var']) {
if(stripos($_SERVER['HTTP_USER_AGENT'], 'iphone') !== FALSE) {
$_SESSION['var'] = 'iphone';
}
// etc...
// your else case can be desktop or default.
}
答案 1 :(得分:3)
在您的情况下,我会通过响应式设计和css策略将移动检测外包给客户端......从处理流量负载的服务器中解除所有开销。
CSS3媒体查询覆盖移动特异性的样式是一种非常流行的方法。
http://webdesignerwall.com/tutorials/css3-media-queries
Example site - 开始缩小浏览器以查看其运行情况。