为什么用户代理在 IE 11 和 Fiddler 中对于相同的请求是不同的

Why user agent is different in IE 11 and Fiddler for the same request

从工作网络访问内网站点时,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)

同时,当fiddler打开时,同一请求的用户代理是不同的,IE控制台中没有兼容模式消息。

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

任何人都可以解释为什么当提琴手打开时用户代理会发生变化。这是一个内联网网站。

此站点在 web.config 中将 X-UA-Compatible 设置为 IE=edge,这在响应中很好 header

  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

在 header 中设置
<add name="X-UA-Compatible" value="IE=edge" />

None 的解决方案是在从工作网络浏览但从家庭网络浏览时删除兼容模式,所有标签都工作正常。

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

提前致谢

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

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

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

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

Computer Configuration/Administrative Templates/Windows Components/Internet Explorer/Compatibility View

(3) 查找选项为本地 Intranet 打开 Internet Explorer 标准模式

(4) 双击进行配置

(5) 单击 Enabled 选项。

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

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