为什么针对同一请求,IE 11和Fiddler中的用户代理不同

时间:2018-10-18 03:15:00

标签: c# asp.net internet-explorer http-headers compatibility

从工作网络访问Intranet站点时,在IE开发人员工具中,该模式是控制台中的兼容模式

http://comm.dev.com/ is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked

,请求代理的用户代理是

 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0)

同时,当提琴手打开时,对于相同的请求,用户代理将有所不同,并且IE控制台中没有兼容模式消息。

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

任何人都可以解释为什么打开提琴手时用户代理正在更改。这是一个Intranet网站。

此网站的X-UA兼容在web.config中设置为IE = edge,在响应标头中显示为正常

  X-UA-Compatible: IE=edge

仅在工作网络中出现兼容模式,但是从家庭网络访问站点时,没有兼容模式消息,并且用户代理为

  User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

通过取消选中Display intranet sites in Compatibility View可以解决此问题,但是是否可以通过代码来解决?所有员工用户都必须关闭兼容模式。还是只能通过GPO完成的事情。

我尝试了许多解决方案,例如添加元标记

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

甚至可以通过web.config在标头中设置

<add name="X-UA-Compatible" value="IE=edge" />

从工作网络浏览但从家庭网络浏览时,所有解决方案都不能删除兼容模式。

任何线索或建议都会有所帮助

预先感谢

1 个答案:

答案 0 :(得分:0)

我们可以将组策略设置为未选中在IE中的“兼容性视图中显示Intranet网站” 选项。

您可以尝试参考以下步骤。

(1)在运行窗口中键入 gpedit.msc 以打开本地组策略编辑器

(2)导航到下面的位置。

  

计算机配置/管理模板/ Windows组件/ Internet Explorer /兼容性视图

(3)找到一个选项为本地Intranet启用Internet Explorer标准模式

(4)双击对其进行配置。

(5)单击已启用选项。

(6)单击应用按钮,然后单击确定按钮。

(7)重新启动 Internet Explorer 以使更改生效。

enter image description here