为什么我要为IE获取'Mozilla'?

时间:2013-11-14 10:08:51

标签: asp.net-mvc asp.net-mvc-3 internet-explorer user-agent

今天我用Windows更新安装了IE 11。

我使用IE发出请求,但Request.Browser.Browser返回'Mozilla'。为什么呢?

2 个答案:

答案 0 :(得分:2)

User agent sniffing is bad for users也间接为浏览器供应商提供服务。这就是为什么供应商试图找到解决这种反模式的方法。在IE中,当the User-Agent string was frozenmake the life for caching proxies easier时,从第9版开始。

除了缓存代理外,更重要的问题是过时的脚本。 IE 11优于IE 10,因此它不应该接收为IE 10准备的内容。由于Microsoft无法修复Web中的每个旧的嗅探脚本,它必须再次通过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版本,但Opera不再匹配。

请不要只调整嗅探脚本。你无法赢得那场比赛。尽可能使用客户端功能检测。

答案 1 :(得分:1)

由于历史原因,Internet Explorer将自己标识为Mozilla浏览器。

http://msdn.microsoft.com/library/ms537503.aspx