当前位置: 首页 > 学习笔记 > 正文

今天你X-UA-Compatible了吗

前几天把WP升级到了2.9.2,但是升级后一直就是怪怪的,发现很多页面的显示都不正常,排版出现错落。用FF、opera和Safari访问,一切都很正常。我心里就在想一定又是IE惹的祸,估计在什么代码的解释上又出现了问题。
因为以前的WP版本都没有出现过这样的问题,一开始我就以为是不是新版本里面改动着什么地方,对比了几个关键的地方都没有什么发现,于是我又挨个挨个去看主题的CSS,发现都没有什么不对的地方,百思不得其解。我甚至以为是空间商加了什么隐藏代码对界面的解释形成了一点影响,就在我快要放弃的时候,奇迹出现了。以前有一款主题,我加了twitter thread页面后,那一页的footer总是不遵循主题的CSS规定,这个问题一直都没有解决,因为我看不出来代码哪里有误差。因为升级后显示的问题我又想起了这个事,看了一遍CSS和footer的代码,还是没有结果,鬼使神差的我竟然想起了去看header的代码,意外的发现了最开头的一段关于header的X-UA-Compatible的代码,灵光一闪,我马上就琢磨着我的显示不正常应该就是这句的影响了。我的IE到8了,什么时候到8的记不清了,以前没出现问题那是运气后,没准这次升级WP后,IE8就是不兼容了呢,试试吧。当我把这段代码应用到所有的主题和后台之后,果然,问题解决一切都正常了。为什么呢,我这个半吊子还是应该有点钻研精神的,于是乎搜索了一下以解惑,下面引用了一篇讲解的比较通俗的文章,供自己和其他和我一样的菜鸟学习。
使用X-UA-Compatible来设置IE浏览器兼容模式
前言
为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。在IE6中引入一个增设的兼容性模式,文件兼容性使你能够在IE呈现你的网页时选择特定编译模式。
新的IE为了确保网页在未来的版本中都有一支的外观,IE8引入了文件兼容性。当你引入一个增设的兼容性模式,
此文章说明文件兼容性的必要性,列出现有版本IE能使用的文件兼容性模式并示范如何选择特定的兼容性模式。

了解文件兼容性的必要性

每个主要版本IE新增的功能都是为了让浏览器更容易使用、增加安全性及更支持业界标准。以这些作为IE的特色,其中一个风险就是旧版本网站无法正确的显示。

为了将这个风险降到最低,IE6允许网页开发人员选择IE编译和显示他们网页的方式。”Quirks mode”为预设,这会使页面以旧版本浏览器的视点显示,”Standards mode”(也称为”strict mode”)特点是支持业界标准最为完善。然而要利用这个增强的支持功能,网页必须包含恰当的指令。

若一个网页没有包含指令,IE6会将它以quirks mode显示。若网页包含有效的指令但浏览器无法辨识,IE6会将它以IE6 standards mode显示。因为少数网站已经包含指令,兼容性模式的切换相当成功。这使网页开发人员能选择将他们的网页转移为standards mode的最佳时机。

随著时间经过,更多网站开始使用standards mode。它们也开始使用IE6的特性和功能来检测IE。举例来说,IE6不支持universal selector(即css之全局选择器 * {}),一些网站便使用它来针对IE做特定的对应。

当 IE7增加了对全域选择器的支持,那些依赖IE6特点的网站便无法侦测出这个新版本的浏览器。因此那些针对IE的特定对应无法应用于IE7,造成这些网站便无法如他们预期的显示。由于只支持两种兼容性模式,受到影响的网站拥有者被迫更新他们的网站使其能支持IE7。

IE8 比之前的任何版本浏览器都更支持业界标准,因此针对旧版本浏览器设计的网页可能无法如预期般呈现。为了帮助减轻所有问题,IE8引入文件兼容性的概念,使你能选择你的网页设计要对应的特定IE版本。文件兼容性在IE8增加了一些新的模式,这些模式能告诉浏览器如何解析和编译一个网页。若你的网页无法在 ie8正确的显示,你可以更新你的网站使它支持最新的网页标准(优先选项)或在你的页面上新增一个meta元素用于告诉IE8如何依照旧版本浏览器编译你的页面。

这能让你选择将你的网站更新支持IE8新特点的时机。

认识文件兼容性模式

IE8支持几种文件兼容性模式,它们具有不同的特性并影响内容显示的方式。

•Emulate IE8 mode指示IE使用指令来决定如何编译内容。Standards mode指令会显示成IE8 Standards mode而quirks mode会显示成IE5 mode。不同于IE8 mode,Emulate IE8 mode重视指令。
•Emulate IE7 mode指示IE使用指令来决定如何编译内容。Standards mode指令会显示成IE7 Standards mode而quirks mode会显示成IE5 mode。不同于IE7 mode,Emulate IE7 mode重视指令。对于许多网页来说这是最推荐的兼容性模式。
•IE5 mode 编译内容如同IE7的quirks mode之显示状况,和IE5中显示的非常类似。
•IE7 mode编译内容如同IE7的standards mode之显示状况,无论网页是否含有指令。
•IE8 mode提供对业界标准的最高支持,包含 W3C Cascading Style Sheets Level 2.1 Specification和W3C Selectors API,并有限的支持 W3C Cascading Style Sheets Level 3 Specification (Working Draft)。
•Edge mode指示IE以目前可用的最高模式显示内容。当使用IE8时其等同于IE8 mode。若(假定)未来放出支持更高兼容性模式的IE,使用Edge mode的页面会使用该版本能支持的最高模式来显示内容。同样的那些页面在使用IE8浏览时仍会照常显示。

由于edge mode使用该IE版本所能支持的最高模式来显示所浏览的网页内容,建议仅使用于测试页及其他非商用页面….(还有很多)

详细出处参考:http://www.jb51.net/css/23772.html

本文固定链接: http://exsbn.com/post/54 | 御剑独舞

该日志由 xizi 于2010年04月24日发表在 学习笔记 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 今天你X-UA-Compatible了吗 | 御剑独舞

今天你X-UA-Compatible了吗:目前有2 条留言

  1. 沙发
    芳~:

    看不懂呀、看不懂……

    2010-04-26 1:50 上午 [回复]
    • xizi:

      ;D

      2010-04-27 12:05 下午 [回复]

发表评论


CommentLuv badge

NO SPAMS Time limit is exhausted. Please reload the CAPTCHA.

快捷键:Ctrl+Enter