【发布时间】:2019-03-22 19:37:10
【问题描述】:
从工作网络访问内网站点时,在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
谁能解释为什么当提琴手打开时用户代理会发生变化。这是一个内网网站。
此站点的 X-UA-Compatible 在 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" />
从工作网络但从家庭网络浏览时,没有一个解决方案是删除兼容模式,所有标签都可以正常工作。
任何线索或建议都会有所帮助
提前致谢
【问题讨论】:
标签: c# asp.net internet-explorer http-headers compatibility