解决web页面浏览器兼容性问题

  • Post author:
  • Post category:其他





浏览器兼容性问题是每个做web页面常常遇到的问题,而且还不得不解决的问题。造成这种局面的主要原因就是各大公司都推出自己的浏览器,而他们在某些方面的规范还不一样。


我们现在常用的浏览器内核有:




Trident



这是微软开发的一种排版引擎。该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。

自从发布后,Trident不断地被更新和完善:


Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;


Trident III(IE5.5)——修正部分CSS的排版控制;


Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;


Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。




Geckos



是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,Netcape6开始采用该内核。后来的 Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Geckos 现在由Mozilla基金会维护。





Presto




是一个由Opera Software开发的浏览器排版引擎,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核。





Webkit




苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软 件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以 Safari浏览器在国内还是很安全的。


简单的总结一下:


使用Trident内核的浏览器:IE、Maxthon、TT、The World等;


使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;


使用Presto内核的浏览器:Opera7及以上版本;


使用Webkit内核的浏览器:Safari、Chrome。



另外:


现在我们很多浏览器都推出多核浏览器,像360,搜狗等就有适应ie的


Trident核心




和google的



Webkit




核心。





针对多核浏览器不同模式在显示网页时可能会产生不同的效果。



1、解决兼容性方案一:




<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7; IE=EmulateIE9″>

这个的意思主要就是要浏览器使用ie7或者ie7以上的版本进行解析网页。



2、

解决兼容性方案一

二:


<html>
  <head>
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
  </head>
  <body>
  </body>
</html>





content的取值为webkit,ie-comp,ie-stand之一,区分大小写,分别代表用webkit内核,IE兼容内核,IE标准内核。


若页面需默认用极速核,增加标签:<meta name=”renderer” content=”webkit”>


若页面需默认用ie兼容内核,增加标签:<meta name=”renderer” content=”ie-comp”>


若页面需默认用ie标准内核,增加标签:<meta name=”renderer” content=”ie-stand”>



版权声明:本文为wanghaiping1993原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。