2015-04-02 122 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/