瀏覽器兼容性

要搞清楚瀏覽器內核是什麼,首先應該先搞清楚瀏覽器的構成。簡單來說瀏覽器可以分爲 兩部分,shell+內核。其中shell的種類相對比較多,內核則比較少。Shell是指瀏覽器的外殼:例如菜單,工具欄等。主要是提供給用戶界面操 作,參數設臵等等。它是調用內核來實現各種功能的。內核纔是瀏覽器的核心。內核是基於標記語言顯示內容的程序或模塊。也有一些瀏覽器並不區分外殼和內核。 從Mozilla將Gecko獨立出來後,纔有了外殼和內核的明確劃分。目前主流的瀏覽器有IE6/7/8、Mozilla、FireFox、Opera、Safari、Chrome、Netscape等。

什麼是瀏覽器內核

瀏覽器內核又可以分成兩部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入CSS等),以及計算網頁的顯示方式,然後會輸出至 顯示器或打印機。瀏覽器的內核的不同對於網頁的語法解釋會有不同,所以渲染的效果也不相同。JS引擎則是解析Javascript語言,執行javascript語言來實現網頁的動態效果。最開始渲染引 擎和JS引擎並沒有區分的很明確,後來JS引擎越來越獨立,內核就傾向於只指渲染引擎。有一個網頁標準計劃小組製作了一個ACID來測試引擎的兼容性和性能。內核的種類很多,如加上沒什麼人使用的非商業的免費內核,可能會有10多種,但是常見的瀏覽器內核可以分這四種:Trident、Gecko、 Presto、Webkit。

渲染引擎

Trident又稱MSHTML,是微軟開發的渲染引擎(包含了Javascript引擎JScript),目前很多瀏覽器都使用這個引擎,例如IE,MaxThon,TT,The World,360,搜狗瀏覽器,Maxthon(最新版已經不使用)等。 Gecko是C++開發的,Open Source的渲染引擎,包括了SpiderMonkey(Rhino)。主要的使用者有Firefox,Netscape6及以上版本,MozillaSuite/SeaMonkey等 。
Webkit是蘋果公司基於KHTML開發的。他包括Webcore和JavaScriptCore(SquirrelFish,V8)兩個引擎。主要的使用者有Safari,Chrome。 Presto由Opera Software公司開始的,用於Opera的渲染引擎。Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的內核。主要的使用者爲Opera7及以上。

JS引擎

JavaScript最初由網景公司的Brendan Eich設計,是一種動態、弱類型、基於原型的語言,內臵支持類。以它爲基礎,制定了ECMAScript標準。他的起源並不是如《Javascript高級程序設計》書中所述,是Brendan Eich自主發明的。(參考aimingoo的考證文章)JavaScript在瀏覽器的實現中還必須含有DOM和BOM。Web瀏覽器一般使用公共API來創建主機對象來負責將DOM對象反射進JavaScript。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章