众所周知,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://www.phpfensi.com',8000);
- }
由于firefox和ie浏览器中的User-Agent识别字符是不同的,firefox中为Alexa Toolbar,ie中为My Toolbar,所以我们判断的时候只需要判断识别字符中是否包含Toolbar就可以了.
注意:IE9的alexa工具条信息获取方式
微软官方开发博客中表示,IE9默认使用比较短的User-Agent识别字符,不再附加.NET及其他任何由软件或机器生成的信息到UA字符串中,所以如果我们想获取IE9用户是否安装了alexa工具条就必须让用户点击“兼容性视图”. |