2013-11-14 93 views
2

今天我安裝了IE 11與Windows更新。爲什麼我爲IE獲得'Mozilla'?

我使用IE發出請求,但Request.Browser.Browser返回'Mozilla'。爲什麼?

+2

給出了一點上下文:http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-兼容性與gecko-webkit.aspx –

+2

和此,http://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx –

回答

2

User agent sniffing is bad for users和間接爲瀏覽器廠商太。這就是供應商試圖找到解決這種反模式的原因。在IE版本9開始,當the User-Agent string was frozenmake the life for caching proxies easier

除了高速緩存代理之外,更重要的問題是過時的腳本。 IE 11比IE 10更好,因此它不應該接收爲IE 10準備的內容。由於Microsoft無法在網絡中修復每個舊的嗅探腳本,因此必須再次找到解決算法的方法changing the UA string

新規則UA字符串是:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko 

在兼容性視圖的UA字符串是:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C) 

Opera made a similar decision for Opera 15+,不使用Presto渲染引擎了。它的新的UA字符串是:

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 

OPR/後的版本號表明實際的歌劇版本,但敵不過Opera了。

請不要只調整嗅探腳本。你無法贏得比賽。儘可能使用客戶端功能檢測。

相關問題