简介
网页的浏览器兼容性指网页在各种浏览器上的显示效果儘量保持一致的状态,90年代末的浏览器大战开始时被广泛使用。浏览器兼容的重要性:
网站做好了浏览器兼容,能够让网站在不同的浏览器下都正常显示
浏览器兼容能够抓住更多的网站访客
浏览器兼容能够给客户更好的体验
浏览器大战
在Internet Explorer和Netscape Navigator的争战中,两个浏览器各自推出非标準的HTML语句(如Navigator的BLINK标籤——闪烁效果,Internet Explorer的MARQUEE标籤——跑马灯效果),以专有的特色功能分割市场。微软以此产品差异化策略(英语:Product Differentation)成功开发了一群忠实客户和数量上有一定影响的IE Only网站。
同时,网页浏览标準只规定了接口,并没有接口实现的详细规範,使得各浏览器对相同的功能使用了不同的实现方法,并导致了功能实现的差异。这些差异按程度由显示方面到核心概念的都存在。浏览器兼容性就是指标準功能在各浏览器的差异程度,差异的解决方法是为浏览器兼容。
产生原因及解决方案
因为不同浏览器使用核心及所支持的HTML(标準通用标记语言下的一个套用)等网页语言标準不同;以及用户客户端的环境不同(如解析度不同)造成的显示效果不能达到理想效果。最常见的问题就是网页元素位置混乱,错位。
解决方案:
对于一般用户来说
应该用ie8兼容模式浏览网页, 而不应该用ie9或ie10渲染模式. 很多用户安装ie10后发生很多网页显示错乱, 就是兼容性的原因, 因为ie10默认的渲染模式是ie10. 此时应该将其改为ie7渲染模式。
为什么用ie6/7渲染模式的原因如下:
中国所有网页肯定都支持ie, 支持ie就是支持ie核心的所有浏览器. 但并不一定支持chrome, firefox, 双核浏览器的高速模式, 原因很简单, 网页开发人员没有那么多时间和精力去兼容及测试那么多浏览器, 开发人员能让网页在ie下正常工作已经不错了, 就这还老得加班呢, 还有很多新需求和bug,测试人员还要去改
渲染模式和网页打开速度几乎没有关係, 用户感觉不到.
对于网站开发者来说,当前暂没有统一的能解决这样的工具,最普遍的解决办法就是不断的在各浏览器间调试网页显示效果,通过对css样式控制以及通过脚本判断并赋予不同浏览器的解析标準。
如果所要实现的效果可以使用框架,那么还有另一个解决办法是在开发过程中使用当前比较流行的JS,CSS框架,如jQuery,YUI等等,因为这些框架无论是底层的还是套用层的一般都已经做好了浏览器兼容,所以可以放心使用。除此之外,CSS提供了很多hack接口可供使用,hack既可以实现跨浏览器的兼容,也可以实现同一浏览器不同版本的兼容。
具浏览器兼容性的网页编码方式
下面是HTML和JavaScript的例子:测试文字
















