“与X-UA兼容” content =“ IE = 9; IE = 8;IE = 7;IE = EDGE”


233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. 其实这句话是什么意思?

  2. 一些示例用于,分隔IE的版本,而某些示例则用于;; 哪个是正确的?

  3. 该命令IE=9; IE=8; IE=7; IE=EDGE具有某些重要性,我希望知道这一点。

编辑:我正在使用<!DOCTYPE html>


我认为IE = 9不适合X-UA-Compatible
Krish


Answers:


328

如果您支持IE(对于Internet Explorer 8及更高版本),请执行以下操作:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

强制浏览器呈现为该特定版本的标准。IE7及更低版本不支持此功能。

如果用分号分隔,它将设置不同版本的兼容性级别。例如:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

将IE7和IE8渲染为IE7,但将IE9渲染为IE9。它允许不同级别的向后兼容性。但是,在现实生活中,您应该只选择以下选项之一:

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

这样可以简化测试和维护。尽管通常更有用的版本是使用Emulate:

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

为了这:

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

无论最新版本的标准如何,它都会强制浏览器进行渲染。

有关更多信息,可以在MSDN上阅读很多内容


9
IE = 9;IE = 8;IE = 7;IE = EDGE具有一定的重要性,我想知道
Kuttan Sujith

我对此的理解有些差距。如果我的测试目标是IE8,但我不想破坏IE7,那么您将此元标记设置为什么?还有其他浏览器使用吗?
Snekse 2013年

2
IE7不会意识到这一点,它是在IE8中首先实现的。例如,如果您使用IE7作为测试的基础,并且希望所有更现代的IE版本都可以像IE7标准中那样呈现,则对IE7的完整引用是上面的内容。没有其他浏览器使用此标签。
PlantTheIdea

1
IE10使用IE = 8(YMMV)可以很好地渲染旧的Web应用程序,但是IE8的IE11仿真会中断。此UA:content="IE=8; IE=11"在IE10中提供浏览器模式IE10兼容文档模式IE8标准,在IE11中提供文档模式边缘。IE10和IE11 UA分配的问题之一是Microsoft删除了条件注释
2015年

基于该元标记,IE11将不会模拟IE8,而是假定IE11(以分号分隔的列表中给出)。该列表还可以解释到IE8标准的后备原因,因为IE10不知道IE11的存在,就像IE8无法应用IE9标准一样。您是否尝试过简单使用content="IE=8"?或者,最好是content="IE=EmulateIE8"
PlantTheIdea

4

在某些情况下,可能有必要将网页的显示限制为Internet Explorer早期版本支持的文档模式。您可以通过为页面提供x-ua兼容的标头来实现此目的。有关更多信息,请参阅指定旧文档模式。
- https://msdn.microsoft.com/library/cc288325

因此,此标签用于将来验证网页,以便使用较旧 / 兼容的引擎以创建者期望的方式呈现它。

确保已检查它可以与指定的IE版本一起正常使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.