Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 对<;元http等价=”;X-UA-Compatible“;内容=”;IE=边缘“&燃气轮机;_Internet Explorer_Browser_Meta Tags_Msdn - Fatal编程技术网

Internet explorer 对<;元http等价=”;X-UA-Compatible“;内容=”;IE=边缘“&燃气轮机;

Internet explorer 对<;元http等价=”;X-UA-Compatible“;内容=”;IE=边缘“&燃气轮机;,internet-explorer,browser,meta-tags,msdn,Internet Explorer,Browser,Meta Tags,Msdn,我无法理解meta http equiv=“X-UA-Compatible”content=“IE=edge的真正意义 1) 如果一些用户有IE的某个版本,他试图打开具体的页面,页面将以用户拥有的IE版本(最新版本)打开。我不明白为什么我们需要那个标签来维护它 2) 如果用户明确地说他的IE(例如IE9)想要像以前的IE版本(例如IE8)一样打开浏览器页面,这个元标记会阻止它吗 3) 如果我有IE7或IE8,并且这个页面有一个meta标记,该页面将在IE7或IE8中打开,这取决于我的计算机上已经

我无法理解meta http equiv=“X-UA-Compatible”content=“IE=edge的真正意义

1) 如果一些用户有IE的某个版本,他试图打开具体的页面,页面将以用户拥有的IE版本(最新版本)打开。我不明白为什么我们需要那个标签来维护它

2) 如果用户明确地说他的IE(例如IE9)想要像以前的IE版本(例如IE8)一样打开浏览器页面,这个元标记会阻止它吗

3) 如果我有IE7或IE8,并且这个页面有一个meta标记,该页面将在IE7或IE8中打开,这取决于我的计算机上已经有了最新版本的浏览器


我真的看不出这个元标记的用途(除了用户已经调整浏览器的新版本以打开旧版本的页面的情况),或者我在这里遗漏了一些内容。

请参阅Microsoft文档:

注意:边缘模式仅用于测试目的;请勿在生产环境中使用

因为它强制所有页面以标准模式打开,而不考虑 对于Internet Explorer版本,您可能会尝试使用此 对于使用Internet Explorer查看的所有页面。请不要执行此操作,因为
X-UA-Compatible
标头仅从Windows开始受支持 Internet Explorer 8

这意味着它只是为了快速测试当前仅限于特定版本的网站的最新IE版本

要永久使用最新版本,请改用HTML5文档类型:

见本文引言:

在大多数情况下,我们建议网站使用HTML5文档类型 支持最广泛的现有和新兴标准, 以及最广泛的网络浏览器

编辑: 我刚刚在另一篇SO帖子中注意到。这表明,如果用户出于某种原因在页面的兼容模式下运行IE,您将通过设置X-UA-Compatible=EDGE来覆盖此设置。这意味着,如果您知道您的页面将使用最新标准以最佳方式显示,您可以强制IE在边缘模式下运行,即使用户已采取行动ivated兼容模式。有关激活兼容模式的不同方式的详细信息,请参阅


作为一个额外的效果,当你设置了X-UA-Compatible=EDGE时,IE还将隐藏地址栏中的Compatibility按钮。

你可以明确告诉IE浏览器使用meta标记使用其最新可用的渲染引擎。这也可以防止IE在渲染页面时打开Quirks模式

看看这个:

您可以将其添加到.htacces中

<IfModule mod_headers.c>
    Header set X-UA-Compatible "IE=edge"
    # `mod_headers` can't match based on the content-type, however, we only
    # want to send this header for HTML pages and not for the other resources
    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
        Header unset X-UA-Compatible
    </FilesMatch>
</IfModule>

标题集X-UA-兼容“IE=edge”
#'mod_headers'无法根据内容类型进行匹配,但是,我们仅
#要为HTML页面而不是其他资源发送此标题吗
标题未设置X-UA-Compatible

生活在它毫无意义的生活中…

正如其他人所说,不使用此标记会在地址栏中显示(至少在IE9中是这样)兼容性视图图标(一个符号性的断页图标,位于“重新加载”和“停止”旁边)。同样在完美的W3C验证
html5页面上。看到此图标可能会触发用户按下它。这确实会导致怪癖模式,因此填充宽度计算更改为旧模式,您的页面看起来很糟糕。(做得好,M$,这真的很有帮助…)

因此,此标记有助于抑制它

google.com
也使用了edge标志(尽管他们强烈提倡“适当的”html5,是吗?)
nytimes.com
不使用边缘标志。还有-boom-兼容性标志

仔细看看html5推广网站。。。
html5boilerplate.com
没有图标,没有meta标记,但因此它位于http头中

简言之:看来没有什么好办法。 一个非面向用户的、肤浅的/丑陋的标志比任何用户面临的使页面看起来更糟糕或看起来无效的危险都要好(作为最终用户,无论何时提供任何“兼容性视图”,我都会得出这样的结论)

“1)如果一些用户有某个版本的IE,他试图打开具体页面,该页面将以用户拥有的IE版本(最新版本)打开。我不明白为什么我们需要那个标签来维护它?”

IE 8*和更高版本内置了多个渲染引擎。IE选择哪一个用于特定页面取决于多个因素。有时它默认为较旧的模式,因此即使使用IE10,它也可能在IE7兼容性视图中打开特定页面

如果你在你的页面上使用标准的html5 doctype,比如
,那么你会认为你不必担心,在互联网上这或多或少是正确的。但是,出于对微软以外的任何人都没有意义的原因,如果IE在内部网上打开页面,它默认为一个旧的兼容性视图,,即使指定了一个html5 doctype

使用您提到的
标记告诉IE始终使用其拥有的最新(“edge”)渲染引擎

“2)如果用户明确表示其IE(例如IE9)希望像某些早期IE版本(例如IE8)一样打开浏览器页面,此元标记会阻止它吗?”

不可以。用户仍然可以使用内置的开发工具来更改文档模式

“3)如果我有IE7或IE8,而这个页面有一个meta标签,该怎么办?该页面将在IE7或IE8中打开,这取决于我的计算机上已安装的浏览器的最新版本。”

是的。当然IE8不能在IE9模式下打开页面。但正如我前面提到的,meta标签告诉你使用哪个版本的IE使用它的最新模式,而不是(潜在地)默认为旧模式

*还是我的意思是7安