Codeigniter用户代理将Opera浏览器检测为Chrome

时间:2015-04-02 09:49:46

标签: php codeigniter browser user-agent

我正在尝试使用Codeigniter用户代理库显示我用于打开网站的浏览器。当我使用IE,Chrome,Firefox和Safari打开时,用户代理会返回正确的值。但是当我用Opera打开时,它会返回“Chrome”值。

这是我的代码的一部分:

控制器

*** another code ***

$this->load->library('user_agent');
$data['browser'] = $this->agent->browser();
$this->load->view('agent',$data);

*** another code ***

查看

Your browser is <span><?php echo $browser; ?></span>.

如果我用opera打开结果是这样的:

  

您的浏览器是Chrome。

我的问题是,为什么它会退回Chrome?我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

看起来Opera中的用户代理字符串(自15版开始)就是:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36 OPR/15.0.1147.100

您可能需要扩展user_agent库以检查用户代理字符串是否包含OPR。

https://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/

相关问题