我尝试使用User Agent类,但在IE11中,它显示Mozilla 5.0。
$this->agent->browser().' '.$this->agent->version();
我试过使用PHP的get_browser(),它显示了正确的信息,"IE 11.0 for Desktop",但它显著降低了加载速度。
$browser = get_browser(null, false);
您使用的是什么版本的CodeIgniter?我刚刚在我的环境中测试了以下内容(CodeIgniter 3.0.6),并得到了正确的响应。
控制器:
$this->load->helper('url');
$this->load->library('user_agent');
$data['browser'] = $this->agent->browser();
$data['browserVersion'] = $this->agent->version();
$data['platform'] = $this->agent->platform();
$data['full_user_agent_string'] = $_SERVER['HTTP_USER_AGENT'];
视图:
<?php
echo $browser . '<br />';
echo $browserVersion . '<br />';
echo $platform . '<br />';
echo $full_user_agent_string . '<br />';
?>
输出:
Internet Explorer
7.0
Windows 7
Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;三叉戟/7.0;SLCC2。NET CLR 2.0.50727。NET CLR 3.5.30729。净CLR3.0.30729;Media Center PC 6.0。NET4.0C。NET4.0E;InfoPath.3;OWASMIME/4.0500)
是的,我在兼容模式下进行了测试(这就是您看到MSIE 7.0被引用的原因)。事实上,我尝试了开发工具中列出的所有版本,似乎都能使用。
出于某种原因,您可能会看到完整的用户代理字符串的一部分。该字符串以Mozilla/5.0开头。这并不意味着它实际上是Mozilla。以下是关于为什么在用户代理字符串中看到Mozilla/5.0的更多历史记录。