我一直在使用php的get_browser()
函数对我的用户进行一些简单的分析,主要用于调试。然而,看来browsercap.ini的维护者,为get_browser提供动力的数据已经退出项目,虽然有些人似乎正在重新启动它,但数据变得非常陈旧。他们正在谈论完全改写,所以我担心它会在它再次出现之前需要一段时间。
有人知道不依赖于browsercap.ini的替代方案吗?
编辑:我很抱歉我的问题含糊不清。我需要这个用于调试,而不是分析。我在Web应用程序中的“报告错误”工具中使用它,它有很多跨浏览器的错误,但我无法控制客户端计算机。这是一个非常古老的应用程序(最初是为IE6构建的),我们一直在尽力使其更新,但跨浏览器问题有时很难找到。
再次感谢您
答案 0 :(得分:6)
这就是我这样做的方式: 我已经包含了最常见的浏览器。
<?php
function get_browsername() {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE){
$browser = 'Microsoft Internet Explorer';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE) {
$browser = 'Google Chrome';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) {
$browser = 'Mozilla Firefox';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) {
$browser = 'Opera';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) {
$browser = 'Apple Safari';
}else {
$browser = 'error'; //<-- Browser not found.
}
return $browser;
}
echo 'Browser is '. get_browsername(); //<-- Display the browser name
if(get_browsername() == 'Google Chrome') {
// Use the function to check
}
希望这有帮助。
答案 1 :(得分:0)
我刚刚查看了Piwik,这是Google Analytics的开源替代方案,他们依赖于$_SERVER['HTTP_USER_AGENT'];
(记录为here),但这与{{{{}}直接相关1}}(记录here)。此外,请记住,浏览器可能会欺骗用户代理,您应该准确描述您要查找的内容。
答案 2 :(得分:0)
https://github.com/ornicar/php-user-agent会提供另一种合理的替代方案(5个月前的最后更新)。
我用它来锁定我的工作内联网(我可以)。
答案 3 :(得分:0)
function get_browsername($userAgent = $_SERVER['HTTP_USER_AGENT']){
$browsers = array(
array("IE", "Microsoft Internet Explorer"),
array("Chrome", "Google Chrome"),
array("Firefox", "Mozzila Firefox"),
array("Opera", "Opera"),
array("Safari", "Apple Safari")
);
foreach($browsers as $browser){
if (strpos($userAgent, $browser[0]) !== false)
return $browser[1];
}
return "unknown";
}
答案 4 :(得分:0)
我认为您最好使用解析器lib为您执行此操作,我建议ua-parser。这个lib可以解析你可以遇到的大多数浏览器,但缺点也很明显。这个lib太重了......