2015-04-02 45 views
3

我试图向我显示使用Codeigniter用户代理库打开我的网站的浏览器。当我用IE,Chrome,Firefox和Safari打开时,用户代理返回正确的值。但是当我用Opera打开时,它会返回“Chrome”值。Codeigniter用户代理检测到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>. 

的结果,如果我用歌剧打开是这样的:

您的浏览器是Chrome。

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

谢谢。

+0

您使用的是哪个版本的CI? – Drew 2015-04-02 09:59:03

+0

我正在使用CI版本2.2.0 – andy222 2015-04-02 10:02:43

回答

1

它看起来像在歌剧中,用户代理字符串(因为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/

相关问题