【发布时间】:2015-03-07 13:05:32
【问题描述】:
让我开始说,我认为我知道在 stackoverflow 上有两三个很好的答案,但没有一个(或我在互联网上找到的任何其他答案)对我有用。
我的应用程序不支持 Internet Explorer 兼容模式,并且我的客户端工作站设置为选中了“以兼容性视图选项显示所有 Intranet 站点”复选框。
我尝试了各种解决方案,其中:
- 使用元标记,例如<meta http-equiv="x-ua-compatible" content="IE=edge>
与 IE 版本的所有变体。我试着把它作为标签之后的第一个元素和标签之后的第一个元素。
- 我还尝试使用<!DOCTYPE html> 强制使用 HTML5 doctype,这是 Microsoft 建议的当前首选解决方案,用于强制浏览器使用可用的最高引擎(因为它是 HTML5 doctype)。
Internet explorer 8 完全不关心所有这些,并在兼容模式下愉快地运行(“IE8 Compat View”调试器说)。
另一方面,使用 <meta http-equiv="x-ua-compatible" content="IE=edge> 在 IE9 上工作正常,强制关闭兼容模式。
我的问题是,是否有人知道如何以编程方式从网页甚至服务器端(Weblogic 12c)强制关闭 IE8 兼容模式。
谢谢
【问题讨论】:
-
感谢 chaenu,这确实非常相似,问题是建议的解决方案都不适合我,我已经完成了。我基本上尝试了
<meta http-equiv="x-ua-compatible" content="...的所有可能值,但在 IE8 上没有运气,看起来浏览器忽略了元标记。我认为我没有弄错这个元标记,因为它正在解决 IE9 的问题。 -
是的,我认为你做的一切都是正确的,是 IE8 不允许你覆盖设置。
-
您应该引用您检查过的问题并解释您的问题有何不同。好像真的没有,即这是重复的。
-
对重复问题标记为正确的答案对我和其他人来说似乎不正确。在这种情况下我应该如何表现?
-
您不能“强制”IE 从网页中显示特定的文档模式。您只能请求一种模式,并希望其他一些设置不会覆盖该请求。可能的覆盖包括强制站点(或页面)进入特定模式的组策略、用户选择(将站点放入区域或兼容性视图设置)等。最好进行相应的编码。使用运行时检测(可能是
documentMode和compatMode属性)来查看当前值是否符合您的预期。如果没有,向用户显示警告并将他们重定向到帮助页面。
标签: html internet-explorer internet-explorer-8