我是否可以仅对内容中的内容禁用IE兼容模式?

时间:2015-05-21 13:16:32

标签: internet-explorer frameset ie-compatibility-mode html-frames

我开发了一个在我公司的Intranet中运行的Web应用程序。我在我的流程早期出现了Internet Explorer自动兼容模式的问题,并添加了代码以强制我的页面显示在最新版本的IE中:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

这完美无缺。直到我的Web应用程序最近集成到另一个Intranet中,也可供我们的客户使用。网页超出了我的控制范围。我的应用程序集成在另一个html页面的框架内。现在我回到兼容模式,它打破了我的网络应用程序的关键功能。

是否可以强制使用最新版本的浏览器来解释我的框架内的内容?

2 个答案:

答案 0 :(得分:2)

根据this&amp; this(甚至比第一个 - 标记答案的通知更好),解决方案是不可能的。

如果考虑一下,IE的GUI实际上暗示整个页面以兼容模式呈现(每页只有1个指示符图标,在地址栏旁边),因此可以安全地假设所有内容都被视为相同。完整页面兼容性,或者根本不兼容。

P.S。我知道这不是太有用,但它试图提供一个有效的理由,为什么它不可能,最好开始向不同的方向看。就个人而言,我会尝试使用HTML5(<!DOCTYPE html>)。可以有选择地启用(仅限你的框架)并且可能不太难调整,因为你已经使用'edge'......

答案 1 :(得分:1)



这个屏幕截图显示了IE兼容性视图可以被托管框架覆盖。

框架使用的技术是(1)将X-UA-Compatible标头注入主机头,(2)通过document.write(),然后(3)重新加载主机页面。它具有将页面中所有帧提升到所选级别的效果。

online demo

在此之前将googledrive放入兼容性视图,您会注意到演示菜单无效。它无法覆盖IE9或更高版本的任何模式,因为它们被“锁定”。 IE8,IE7和IE5模式(以及CV)被“解锁”并且可以被覆盖。这是诀窍的基础。

另一方面,以下演示的主机页面包含一个X-UA兼容的IE = 5(又名Quirks)标题。因此,即使不将googledrive放入兼容性视图,框架也能够覆盖主机模式。

online demo (Host XUA=IE5)


这里的概念源于此MS-Connect线程,讨论iframe中的IE模式。