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

标签 php codeigniter browser user-agent

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

这是我的部分代码:

Controller

*** 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 打开的结果是这样的:

Your browser is Chrome.

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

谢谢。

最佳答案

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/

关于php - Codeigniter 用户代理将 Opera 浏览器检测为 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409913/

相关文章:

php - 面向 PHP 开发人员的 android 编程书籍或/和教程

php - Wordpress - 创建带有自定义 URL 的页面

php - 在线广播、流媒体音频

javascript - Web 浏览器中的高质量音频录制

javascript - 在浏览器中打开 HTML 文件的代码

html - 为什么需要提供 React 构建?为什么我不能直接在浏览器中打开它?

php - 安全的php模板引擎

php - 使用 ffmpeg/ffprobe 使用 php 创建波形 json

mysql - 拒绝连接到生产中的数据库但不是本地的

javascript - 在可滚动部分的视口(viewport)中,如何更改元素的样式属性?