繁体   English   中英

运用 <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> 网站模式的良好做法?

[英]Using <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> mode in sites good practice?

我最近发现了将以下内容添加到网站标题中的乐趣:

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

网站只是工作,CSS很漂亮,生活也很好。 但我有点担心这种做法有多好?

那台安装了IE7的旧电脑怎么样? 该版本的IE7能否实际访问IE8标准模式?

对问题最后一部分的简短回答是否定的:IE7不能在IE8模式下工作。 因此,使用X-UA-Compatible标头不会强迫旧版本的IE认为它们是更新版本。 (如果有效,我们都可以开始使用content="IE-10"并且完全担心向后兼容性)

X-UA-Compatible标志的作用是告诉较新版本的IE重新进入兼容模式以模拟旧版本。 因此,您的content="IE-8"标志对IE7或IE8没有影响,但会使IE9回归到IE8模式。

这意味着IE9将以试图向后兼容的名义有效地丢弃其新功能。

如果这是你想要的IE9,那么一定要使用X-UA-Compatible标头。 如果它不是你想要的,那就不要使用它。

(值得注意的是,已知IE中的向后兼容模式与他们试图模拟的版本的真实副本100%兼容并不是很好,所以不要认为你会获得完美的副本在IE9中运行的IE8也是如此 - 在普通模式下,IE8或IE9都有自己的怪癖

另一件需要注意的事情是,微软提供的标签示例并不总是有效。 阅读定义文档兼容性 ,尤其是页面底部的社区添加。

就最佳实践而言,它们可能不是最好的长期解决方案,但在IE9发布且网站出现故障时非常方便。

每个人都正确地说的向后兼容性应该仅在严格要求时应用,因为它不能完美地工作,并且不能通过添加兼容性标签来获得新浏览器的功能到旧浏览器。

我在Windows 7测试环境中安装了IE8,并且它渲染了我的代码的一些部分,如IE7之前做过的(我的元标记中没有内容=“IE7” )!
在使用Windows 7 + IE8的另一台机器上,代码呈现不同,但我想要的方式。
http://www.greywyvern.com/?post=313上有一篇有趣的文章告诉IE8呈现的方式取决于系统上安装的Service Pack(文章是关于XP的,但我的是Windows 7,我有同样的问题)。

所以现在我把content =“IE10”放在我的网页上,我的网站在IE10,IE9和IE8中正确显示。

我使用的是Discus,它与旧版本的IE不兼容。 我得到了帮助他们说在我的页面代码中使用content =“IE-8”...

content =“IE-8”也告诉我的浏览器改变表格和文本的大小等:p我改为content =“IE-7”它完美无缺。

添加<meta http-equiv=“X-UA-Compatible” content=“IE=8” />模式并不是一个好主意,因为它会阻止您的应用程序利用更新版本的浏览器。 但我认为添加<meta http-equiv="X-UA-Compatible" content="IE=Edge" />是好的,因为它会强制浏览器在任何最新版本的标准下呈现。

注意:添加Edge可能会破坏您的代码,因为您的应用程序可能未针对此新版本进行测试。 在大多数情况下,这非常好,但你永远不会知道。

有关其他可能选项的详细信息,请参

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM