我有一个奇怪的,令人沮丧的问题,遗憾的是我甚至无法证明原因会变得清晰......
我在Intranet上使用第三方组件作为HTML编辑器/文件上传器: http://www.dmxzone.com/go?18424
由于某种原因,它无法正常工作,然后我注意到IE在查看带有此组件的页面时自动切换到兼容模式。如果我按F12并切换回IE9或IE8模式,它可以正常工作。它也适用于Firefox和Chrome等。 我联系了那些非常有帮助的开发人员,但如果我在互联网上提供外部脚本,它就可以了。只有在我们的网络内部查看才会出现此问题,所以我猜这不是他们的错。
如果我使用http://Localhost/page.asp在Web服务器上查看网页,那么它可以正常工作,而如果我使用http://theservername/page.asp则会执行兼容模式切换并失败。
一些研究建议使用以下元标记可以防止这种行为:
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
但这不起作用。也没有禁用IE中的“从兼容性视图中自动从页面布局错误中恢复”选项(我们可以推动,因为这只是一个Intranet应用程序。)
我尝试过使用Fiddler查看页面或标题在内部查看时是否有任何不同但我无法发现任何内容。 Intranet区域是“可信任的”。
我们使用代理(Webroot)进行网络过滤,我很怀疑,但这可能是一个红色的鲱鱼。
如果有人有一些建议(除了不使用IE:p),那么我将非常感激
感谢。
答案 0 :(得分:4)
经过更多研究,我发现:
X-UA-Compatible可以在Intranet站点上运行,但只有在它发布时才能运行 作为HTTP标头,而不是元标记
因此,通过更多阅读和实验,我发现添加:
<% Response.AddHeader "X-UA-Compatible", "IE=Edge" %>
位于页面顶部,修复了问题。