22 2013年08月

PHP判断用户浏览器是否安装alexa工具条及问题解决

发布于:12时16分 | 来源:湛蓝天空  |   编辑:湛蓝  |   日志分类:PHP  |   已聚集:人围观

众所周知,alexa工具条是常用的网站第三方统计工具,通常我们会自行定制alexa工具条用来让用户安装,通过用户对工具条内容的点击来提高网站在alexa的排名。如下图中河北新闻网的alexa工具条。

河北新闻网的alexa工具条

如果我们在一些必要的php应用中需要强制用户安装,这就涉及到了alexa工具条安装与否的判断。浏览器在访问网页时php可以获取用户的User-Agent识别字符。使用装有Alexa Toolbar的浏览器在请求网页的时候,User-Agent识别字符中会多出alexa标记。用这个特性就可以判断用户的浏览器是否安装ALEXA工具条。通过PHP的$_SERVER['HTTP_USER_AGENT']来获取浏览器的UA字符串信息。以下为PHP判断用户浏览器是否安装alexa工具条代码:

if(!preg_match("#Toolbar#i", $_SERVER['HTTP_USER_AGENT'])){
                showmessage(L('alexa_failure'), 'https://s3.amazonaws.com/com.alexa.toolbar/atbp/h4Adye/download/index.htm',8000);
            }

由于firefox和ie浏览器中的User-Agent识别字符是不同的,firefox中为Alexa Toolbar,ie中为My Toolbar。所以我们判断的时候只需要判断识别字符中是否包含Toolbar就可以了

注意:IE9的alexa工具条信息获取方式

微软官方开发博客中表示,IE9默认使用比较短的User-Agent识别字符,不再附加.NET及其他任何由软件或机器生成的信息到UA字符串中。所以如果我们想获取IE9用户是否安装了alexa工具条就必须让用户点击“兼容性视图”(如下图所示)

IE9用户是否安装了alexa工具条

除非注明,均为湛蓝天空原创,转载请注明本文网址:http://skyhome.cn/php/388.html

标签:alexa(1)
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)