前端:兼容性问题与浏览器的内核及渲染模式

兼容性问题

目前市面上流行的浏览器有多种,这些浏览器在处理一个相同的页面时,表现或行为有时会有差异。这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。我们把引起这些差异的问题统称为“浏览器兼容性问题”。

浏览器的内核

各品牌浏览器的内核是不同的,不同的内核处理同一段代码的时候思路不同。因此说,--浏览器间内核的差异是产生兼容性问题的根本问题--“内核”也称为“引擎”。常见的浏览器及其渲染引擎(又称排版引擎)、脚本引擎的列表如下:

关于浏览器内核的更多信息,请参考 维基百科 - 排版引擎 及 维基百科 - 网页浏览器比较 中的相关内容

浏览器工作模式

工作模式简介

浏览器的工作模式常被称为“渲染模式”。实际上浏览器不同的工作模式不仅对渲染有影响,对代码的解析以及脚本的行为也同样有影响。

从更广泛的角度来看,浏览器的工作模式的差异不仅体现在处理HTML页面的时候,处理XML及一些非WEB内容时也有模式上的差异。更多浏览器工作模式请关注Activating Browser Modes with Doctype

工作模式的来源及变迁

微软于2001年8月27日发布的IE6(Inrernet Explorer 6)增强了对CSS的兼容,这使得IE6对CSS的解析及渲染与它的前一个版本IE5.5有了很大的差别,如对盒模型的理解、表格尺寸的算法等。
为了保持良好的向后兼容性,微软为用户提供了一个“开关”,来决定浏览器的工作模式,这个“开关”就是页面顶端的DTD(Document Type Definition 全称为文档类型定义。主要是用来约束XML文件!详见DTD)。

某些DTD将使IE6工作在“标准兼容模式”(即“标准模式”),这种模式使用了IE6最新的处理方式,包括对CSS1的兼容及一些DHTML方面的增强。而另一些DTD,包括不设置DTD将使IE6工作在“向后兼容模式”(即“混乱模式”),这种模式对页面的处理是与IE5.5一致。这样可以保证对一些在IE5.5中表现良好的页面在IE6中也能达到同样的效果。
微软在后续推出的IE7和IE8中,也使用了上述“开关”,与IE6一样,在IE7,IE8的“混乱模式”下,对页面处理方式仍与IE5.5一致。因此可以说,IE系列的“混乱模式”,将浏览器的行为冻结在了IE5.5这个版本,虽然IE各版本的混乱模式也略有区别,但他们的本意都是向后兼容。
随着时间的推进和标准的进步,IE6、IE7的“标准模式”逐渐已经变得不候标准了,2009年3月19日发布IE8重新定义了“标准模式”,再次增强了对标准规范的支持,同时为了保持对IE7的兼容,IE8增加了一种工作模式:“接近标准模式”。于是,IE8的工作模式就分成了三种“标准模式”,“接近标准模式”,“混乱模式”。
目前所有主流浏览器对于向后兼容问题的处理都与IE系列一样提供了不同模式来保证向后兼容。
浏览器的工作模式就是在这种背景下诞生的,它很好的解决了浏览器对标准支持上的不断增强及对一些错误的修复修复而导致的向后兼容问题,但也将浏览器在不同情况下的表现及行为变得更加复杂多样。
通过以上的内容没我们可以得出结论:如果一个页面能使各浏览器都在“标准模式”下,那么各浏览器都尽量兼容标准,因此各浏览器之间表现出的差异是很少的。相反,如果一个页面使各浏览器都工作在“混乱模式”下,那么各浏览器都将尽量向后兼容,因此各浏览器之间表现出的差异将会最大化。

常见的doctype
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容