今天我用Windows更新安装了IE 11。
我使用IE发出请求,但Request.Browser.Browser
返回'Mozilla'。为什么呢?
答案 0 :(得分:2)
User agent sniffing is bad for users也间接为浏览器供应商提供服务。这就是为什么供应商试图找到解决这种反模式的方法。在IE中,当the User-Agent string was frozen到make 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浏览器。