2

今天我安装了带有 Windows 更新的 IE 11。

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

4

2 回答 2

2

用户代理嗅探对用户不利,对浏览器供应商也间接不利。这就是为什么供应商试图找到绕过这种反模式的方法。在 IE 中,这从版本 9 开始,当用户代理字符串被冻结使缓存代理的生活更轻松时

除了缓存代理之外,更重要的问题是过时的脚本。IE 11 比 IE 10 好,因此它不应该接收为 IE 10 准备的内容。由于 Microsoft 无法修复 Web 中的所有旧嗅探脚本,它必须通过再次更改 UA 字符串来找到绕过算法的方法。

新的常规 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 为 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

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

于 2013-11-17T09:11:49.597 回答
1

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

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

于 2013-11-14T10:13:42.270 回答