正如我的问题标题已经告诉我在强制 IE8 不使用兼容模式时遇到问题。
我在网上找到了两个解决方案,一个来自Michael Gollmick,将这段代码添加到 beforeRenderResponse:
if (context.getUserAgent().isIE()) {
var response = facesContext.getExternalContext().getResponse();
response.setHeader("X-UA-Compatible", "IE=8");
}
此解决方案工作正常浏览器中的兼容模式按钮消失,页面看起来应该。乙
ut 我不想将此代码添加到每个 XPage,所以我尝试了 Per Henrik Lausten的解决方案,将 MetaData 添加到我的主题:
<resources>
<metaData>
<httpEquiv>X-UA-Compatible</httpEquiv>
<content>IE=8</content>
</metaData>
</resources>
但似乎 Theme 中的这个 MetaData 没有效果。在查看 HTML 源代码时,我在源代码的标题中发现了 Meta 标记,但 IE8 似乎只是忽略了它。
<meta content="IE=8" http-equiv="X-UA-Compatible">
那么我怎样才能让主题中的元数据工作呢?或者可能有任何其他解决方案自动将 onRenderResponse 代码添加到每个 XPage。