web 标准和 浏览器兼容性问题

转载 (原文地址) tiramisu_zl 随笔 浏览器 1646阅读 2012-11-22 17:35:36 举报

浏览器在处理一个相同的页面时,表现或行为有时会有差异.
这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。
######——浏览器兼容性问题


不同的内核处理同一段代码的时候思路不同。
——浏览器间内核的差异是产生兼容性问题的根本原因


*浏览器的工作模式*——常被称为“渲染模式”。不同的工作模式不仅对渲染有影响,对代码的解析以及脚本的行为也同样有影响
doctype会影响代码验证,并决定了浏览器最终如何显示你的Web文档。
######doctype声明指出阅读程序应该用什么规则集来解释文档中的标记。在Web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是W3C所发布的一个文档类型定义(DTD)中包含的规则。


######每个DTD都包括一系列标记、attributes和properties,它们用于标记Web文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中。每个Web建议标准(比如HTML 4 Frameset和XHTML 1.0 Transitional)都有自己的DTD。


######假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。对于标记不一致的问题,浏览器相较于校验器来说更宽容。但是,不正确的doctype声明经常导致网页不正确显示,或者导致它们根本不能显示。


######浏览器的工作模式的诞生**
######——浏览器对于向后兼容问题的处理,提供了不同的模式来保证向后兼容。


它很好的解决了
的不断增强及对一些错误的修复而导致的向后兼容问题,但也将浏览器在不同情况下的表现及行为变得更加复杂多样。



######所以:如果一个页面能使各浏览器都工作在“标准模式”下,那么各浏览器都将尽量兼容标准,因此各浏览器之间表现出的差异是很少的。相反,如果一个页面使各浏览器都工作在“混杂模式”下,那么各浏览器都将尽量向后兼容,因此各浏览器之间表现出的差异将会最大化。

######web标准就是一个规范,WEB标准最主要的是定义了一系列规范给以浏览器厂商作为参考,这样可以节约开发成本,同时提高页面的可访问性,而开发人员以其说是遵循标准倒不如说是遵循现有的浏览器厂商的实现机制,总得说WEB标准就是让代码可读性增强,让开发难度变小,让浏览器的API差异变小,浏览器和开发人员都尽量向一个标准靠拢。

评论 ( 1 )
最新评论
杨小爷 2012-11-26 09:12:56 1F

恩,有些公司面试的时候会问doct的