2013-07-04 77 views
1

我正在嘗試使用$_SERVER["HTTP_USER_AGENT"]來查找用戶瀏覽器和版本。

雖然當我IE11使用它,我得到以下幾點:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; 
    Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; 
    .NET CLR 2.0.50727; .NET CLR 3.0.30729) 

我想這可能是是與兼容模式,但它似乎並沒有開啓。我錯過了什麼嗎?

+6

確定兼容模式沒有打開嗎?作爲一個方面的說法,請小心檢測後你做了什麼,這種方法遠沒有準確或安全。 –

+0

顯然,這是IE11的UA字符串,因此它看起來像在您的端有錯誤的配置:http://www.nczonline.net/blog/2013/03/27/internet-explorer-11s-user-agent-string-這是什麼意思/ –

+0

原始海報的示例*是* IE11 User-Agent字符串的兼容性視圖設置。警告:nczonline.net文章已過時,並且沒有用於IE11的當前(非Compat)UA字符串。 – EricLaw

回答

0

使用下面的代碼:

$browser = get_browser($_SERVER['HTTP_USER_AGENT']); 

這將輸出一個數組,你可以使用瀏覽器通過print_r($browser);的正確列表。

看到這個:Determine Browser's Version

+0

作爲一個註釋 - 「爲了這個工作,您的php.ini中的browscap配置設置必須指向您的系統上browscap.ini文件的正確位置。」#: – swapnesh

+0

get_browser();需要在php配置中顯示browscap.ini文件:) –

+0

我已經嘗試了get_browser方法,該方法適用於Chrome瀏覽器,但是我得到以下IE11: Array ( [browser_name_regex] =>§^。* $§ [browser_name_pattern] => * [評論] =>默認瀏覽器 [瀏覽] =>默認瀏覽器 [版本] => 0 [majorver] => 0 [minorver] => 0 [平臺] =>未知 [platform_version] =>未知 α=> β=> [win16] => [win32] => [wi N64] => [幀] => [I幀] => [表] => [餅乾] => [JavaScript的] => [VBScript的] => [javaapplets] => [activexcontrols] => ) –

相關問題