瀏覽器內核差異


一、瀏覽器內核

        Rending Engine, 顧名思義,稱之為渲染網頁內容的,將網頁的代碼轉換為你看得見的頁面,因為是排版,所以排版,所以肯定會有排版錯誤等問題。為什么會有排版錯誤呢,一部分是由於網站本身編寫不規范,另一方面是瀏覽器本身的不規范

     現在有一些主流的排版引擎,因為這些排版引擎都有其代表的瀏覽器,所以常常會把排版引擎的名稱和瀏覽器的名稱混用,其實這樣是不合理的,因為一個完整的瀏覽器不會只有唯一的排版引擎,還有自己的界面框架和其他的功能支撐,而排版引擎本身也不可能實現瀏覽器的所有功能,下面羅列出幾款主流的的排版引擎和瀏覽器

    

    1、Trident內核(window)

      Trident就是大名鼎鼎的IE瀏覽器所使用的內核,也是很多瀏覽器所使用的內核,MS現在采用的越來越少,反之使用webkit的越來越多,老的trident內核(比如IE6)當年占得市場份額很大,后果就是大量的網頁是專門為IE6等老trident內核編寫,但這些網頁的代碼並不符合w3c標准,於是完全符合w3c標准的網頁在老trident內核下出現了偏差,這就是為什么后來很多人覺得后來的IE9網頁排版有點混亂,而IE6正常,其實不是瀏覽器的兼容性差了,而是你訪問的的網頁不符合新的標准,目前可供調用的最新版的Trident內核是IE9使用的內核,較之前的版本對w3c的標准支持增了很多

   

  基於Trident內核的瀏覽器有

  ie6,ie7,ie8(Trident 4.0) , ie9(trident 5.0)  , ie10(trident6.0);

 世界之窗,360安全瀏覽器, 遨游2.0(3.0以上版本開始采用webkit內核),搜狗瀏覽器,騰訊TT;其中部分版本的瀏覽器是雙核瀏覽器,甚至是多核,

 

2、Gecko(跨平台)

Natescape6啟用的內核,現在又mozilla基金會進行維護,是開源的瀏覽器內核,目前主流的Gecko內核是mozilla firefox, 由於firefox的出現,IE的霸主地位逐漸被削弱,chrome的出現加速了這個進程,非trident內核的興起逐漸改變了整個互聯網的格局,最直接的推動是編碼的標准化,也使MS在競爭的壓力下不得不改進IE,不過可惜的是,雖然是開源的,也開發了這么多年,基於Gecko的瀏覽器並不多見,除了一些簡單的改動或者重新編譯,深度定制或者增了強外殼的還是比較少見。另外就是一些軟件借用了Gecko,比如音樂管理軟件songbird

3、khtml(linux)

  KDE開發的內核,速度快捷,容錯率低,這種內核不見得有很多人知道,但后面看下去你就會明白,常見的khtml內核的瀏覽器有:konqueror

4、webkit(跨平台)

 由khtml發展而來,也是apple給開源世界的一大貢獻,是目前最火熱的瀏覽器內核,火熱的不是說它的市場份額,而是應用的面積和勢頭,因為脫胎於khtml,所以具有高速的特點,同樣遵守w3c標准,從目前來看,webkit內核是最具有潛力而且是已經有相當成績的新型內核,性能非常好,對w3c標准的支持也非常完善,本人十分看好他、

  常見的基於webkit內核的瀏覽器主要有:

 apple 的safari(win/mac/iphone/ipad) 、google的chrome、塞班手機瀏覽器、Android手機默認的瀏覽器

 

5、Presto(跨平台)

opera所 采用的內核,准確的說是opera7.0及以后的版本采用的內核,之前的版本采用的內核是elektra, 無容置疑,Presto內核對w3c的支持也很良好,presto對頁面文字的解析方面的性能比webkit還要高,對頁面有較高的閱讀性

  基於presto的內核的瀏覽器有;  opera

更多其它的內核的介紹請查詢wiki百科

 

二、javascript引擎

  說完了排版引擎,下面來說說javascript引擎,顧名思義,js引擎就是用來執行javascript代碼的, 簡單的舉個例子,一個計算圓周率的網頁,排版引擎把頁面的框架顯示出來,最終的結果要用javascript來計算,所以javascript引擎的快慢也是對整個網頁的速度有很大的影響,特別是最近 目前越來越多的類似webQQ、Gmail等大量復雜的基於javascript運算的網站,不同的執行引擎的速度的差別很顯然易見

  為甚么要單獨拿出來說,因為還涉及到跑分,現在通俗的說那個瀏覽器更快,實際上是指執行javascript腳本的速度也就是javascript的渲染速度,而不是頁面的載入速度,在

網速允許的情況下,其實各瀏覽器的網頁載入的速度差別不是很大,由於現在javascript在頁面中的比重越來越大,越來越多的動態畫面開始大量借助於javascript,比如現在主流的SNS、郵箱、網頁游戲,所以javascript的渲染速度也是一個很重要的指標,javascript的渲染速度越快,動態頁面的顯示也就是越快,opera在javascript引擎的跑分上一直是遙遙領先的,一般來說在最新版本之間PK,opera基本上都會奪冠

 

1、chakra 查克拉  IE9啟用的新的javascript引擎

2、spidermonkey /tracemonkey/jaegerMonkey

  spidermonkey應用在mozilla firefox1.0-3.0版本上, tracemomonkey 應用在3.0-4.,0版本上,jaegermonkey應用在4.0及以后新的版本上

3、v8引擎 一般應用在chrome   遨游3瀏覽器上

4、Nitro 應用於 safari 4及以后的版本上

5、linear A/  linear B /futhark/carakan

 linear A 用於Opera4.0-6.1版本,linear B用於opera7.0-9.2版本 futhark應用於opera9.5-10.2版本,carakan用於Opera10.5及后續的版本

6、KJS   KHTML對應的javascript引擎

 

三、幾個與瀏覽器有關的測試項目

 1、V8引擎  現在很多雙核瀏覽器都是用它來測試javascript引擎,分數越高越好

 2、Acid3 這個主要是對網頁標准的兼容性測試,分數越高表示越符合網頁的開發標准,滿分是100分

3、html5 測試對htm5標准的支持,分數越高越好

 

四、幾多奇葩

 1、IETab

 這是一款瀏覽器擴展,並非內核,在沒有第三方編譯版本的時候,IEtab一直是firefox 、chrome等非trident內核等瀏覽器安裝的擴展之一,方便用戶在不開啟IE的情況下調用trident內核訪問一些兼容性比較差的網站

 

2、trident/gecko雙核瀏覽器

 

3、trident/webkit雙核瀏覽器這個這個

國內最流行的主流雙核瀏覽器,基本上是這個框架,360急速、世界之窗急速瀏覽器 遨游3 搜狗3 QQ瀏覽器等一些山寨瀏覽器

 

4 trident gecko webkit 三核瀏覽器

   最常見的是日本的 lunascape


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM