兼容性

Posted 乜**乜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了兼容性相关的知识,希望对你有一定的参考价值。

    对于普通文本和 html 标签,各浏览器均进入了混杂模式,都看到疑似的 HTML 文档正文了,浏览器不太会往下追查 DOCTYPE 在哪里。

     对于 HTML 注释和 XML 声明,它们跟上面的普通文本和 HTML 标签有些差别,它们不会在页面中展示出来,即不可视。而有的浏览器则显得十分“智能”,非 IE 浏览器均会忽略它们的存在,DOCTYPE 被正确解析。但是在 IE6 中,DOCTYPE 之前的 XML 声明会导致页面进入混杂模式,而所有的 IE 均会使 DOCTYPE 之前出现了 HTML 注释的页面进入混杂模式。在 IE9 中当出现这种情况时,浏览器在控制台中给出了提示:“HTML1113: 文档模式从 IE9 标准 重新启动到 Quirks ”,看来微软在这一点上不打算“随大流”,这样做也可以敦促作者尽量避免在 DOCTYPE 之前加入其他内容。 有的前端工程师很聪明,他既在 DOCTYPE 之前加入了他需要的内容,却又没有使 IE 由于这些内容而进入混杂模式。

   由于历史的原因,各个浏览器在对页面的渲染上存在差异,甚至同一浏览器在不同版本中,对页面的渲染也不同。在W3C标准出台以前,浏览器在对页面的渲染上没有统一规范,产生了差异(Quirks mode或者称为Compatibility Mode);由于W3C标准的推出,浏览器渲染页面有了统一的标准(CSScompat或称为Strict mode也有叫做Standars mode),这就是二者最简单的区别。 W3C标准推出以后,浏览器都开始采纳新标准,但存在一个问题就是如何保证旧的网页还能继续浏览,在标准出来以前,很多页面都是根据旧的渲染方法编写的,如果用的标准来渲染,将导致页面显示异常。为保持浏览器渲染的兼容性,使以前的页面能够正常浏览,浏览器都保留了旧的渲染方法(如:微软的IE)。这样浏览器渲染上就产生了怪异模式(Quircks mode)和标准模式(Standars mode),两种渲染方法共存在一个浏览器上。

以上是关于兼容性的主要内容,如果未能解决你的问题,请参考以下文章

系统兼容性与软件兼容性

springframework的兼容性

JQUERY的兼容性

什么是兼容性测试?兼容性测试侧重哪些方面?

什么是兼容性测试?兼容性测试侧重哪些方面?

谷歌浏览器兼容性视图设置在哪里(chrome浏览器兼容性视图设置在哪)