为什么用户代理在 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 以使更改生效。
从工作网络访问内网站点时,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 以使更改生效。