【html】各種瀏覽器核心的比較
轉自:http://blog.csdn.net/anddy926/article/details/7442369
一、瀏覽器核心
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引擎,顧名思義,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