【发布时间】:2013-04-28 20:57:36
【问题描述】:
是否有人遇到过 Internet Explorer 8(在 Windows XP/7 上)、9 和 10 (Windows 7/8) 间歇性切换到兼容模式的问题?
我们最近重新设计了使用 CSS3、HTML5 和 Angular.js 的应用程序。这可能无关紧要,但在重新设计之前我们有 HTML5 元素和 CSS3 样式,但现在它无处不在。
当用户从我们的登录页面或营销网站登录我们的网站时,会出现此问题。用户登录后,兼容模式将保持不变。从视觉上看,这会破坏一堆 CSS 并且随机发生并且很难重现,但是客户已经记录了足够多的错误让我知道这是一个问题。这可能是会话或网络问题吗?我们的文档类型是 HTML5,我们目前不使用 IE-Edge 的元标记。我们曾经将它放在文档的头部,但我最近删除了标签(在这些错误弹出之后),这似乎没有任何效果,除了 IE 仍然间歇性切换到兼容模式并且 XP 上的 IE8 崩溃更少。
微软的文档在这方面不是很有帮助。我需要弄清楚如何解决这个问题,但我无法分享网址(由于产品限制)。我尝试移动元标记的位置,切换 HTML5 shivs(目前我们有一个 afarkas IE8 分支,这只在 IE8 中加载。
【问题讨论】:
-
在现代 IE 版本中,打开 F12 开发人员工具并查看控制台以获取信息。当它切换到兼容模式时,是否会出现一个气球并指示“页面出现问题”?如果是这样,您在 IE8 中遇到了布局引擎崩溃(这种情况并不少见),这会强制执行回退。解决这个问题的唯一方法是煞费苦心地确定是什么 CSS/JS 触发了崩溃。自动回退在 IE9+ 中不太常见。
-
请更详细地描述您尝试过的元标记。
X-UA-Compatible元标记(或 http 标头)是您的问题的正确答案,因此很高兴看到您尝试过的方法不起作用。另外,它切换到哪个兼容模式? (IE10有IE7、8、9三种兼容模式,外加quirks模式) -
Spudley - 我们使用 'X-UA-Compatible' 元标记和 2 个“内容”变体。 "IE=Edge" and IE=Edge,Chrome=1" (chrome frame) 我们确实有一次不小心删除了一个重复项。它最初放在 meta、link 和 html shiv 脚本标签之后的头部然后我们将它移到顶部,然后移到 IE shiv 下方。两个位置没有明显差异。这种情况很少见,但当它发生时,它会严重破坏网站
-
Eric - 当我能够复制时,我没有看到气泡。我会再次检查。谢谢
标签: internet-explorer cross-browser internet-explorer-9 internet-explorer-10 ie8-compatibility-mode