1.什么是瀏覽器的內(nèi)核?瀏覽器最重要或者說最核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”,不過我們一般習(xí)慣將之稱為“瀏覽器內(nèi)核”。負(fù)責(zé)對網(wǎng)頁語法的解釋并渲染網(wǎng)頁。所以,通常所謂的瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。 2.它在瀏覽器中的作用是什么?瀏覽器內(nèi)核對于瀏覽器而言,是基礎(chǔ),是依托。如果沒有了瀏覽器內(nèi)核,那么瀏覽器是無法獨(dú)立存在且產(chǎn)生作用的。它的存在,決定了網(wǎng)頁的呈現(xiàn)的內(nèi)容、格式以及效果。所以說,一個(gè)好的瀏覽器,一定是基于有一個(gè)穩(wěn)定、高端、作用明顯的瀏覽器內(nèi)核的。 3.四大瀏覽器內(nèi)核介紹 (1)WEBKIT內(nèi)核 Webkit:是蘋果公司自主研發(fā)的內(nèi)核,也是Safari瀏覽器使用的內(nèi)核。 Webkit引擎包含渲染引擎WebCore和javascript引擎JSCore,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟件,在GPL條約下授權(quán),同時(shí)支持BSD系統(tǒng)的開發(fā)。所以Webkit也是自由軟件,同時(shí)開放源代碼。Google Chrome、360極速瀏覽器以及搜狗高速瀏覽器高速模式也使用Webkit作為內(nèi)核。 (2)GECKO內(nèi)核 Netscape6開始采用的內(nèi)核,后來的Mozilla FireFox(火狐瀏覽器) 也采用了該內(nèi)核,Gecko的特點(diǎn)是代碼完全公開,因此,其可開發(fā)程度很高,全世界的程序員都可以為其編寫代碼,增加功能。因?yàn)檫@是個(gè)開源內(nèi)核,因此受到許多人的青睞,Gecko內(nèi)核的瀏覽器也很多,這也是Gecko內(nèi)核雖然年輕但市場占有率能夠迅速提高的重要原因。Gecko 內(nèi)核的瀏覽器仍然還是Firefox (火狐) 用戶最多,所以有時(shí)也會(huì)被稱為Firefox內(nèi)核。Gecko核心設(shè)計(jì)的相對成熟,在無法獲取源碼的情況下,開放程度僅次于IE。 (3)TRIDENT內(nèi)核 該內(nèi)核程序在1997年的IE4中首次被采用,是微軟在Mosaic代碼的基礎(chǔ)之上修改而來的,并沿用到IE11,也被普遍稱作”IE內(nèi)核”。Trident實(shí)際上是一款開放的內(nèi)核,其接口內(nèi)核設(shè)計(jì)的相當(dāng)成熟,因此才有許多采用IE內(nèi)核而非IE的瀏覽器(殼瀏覽器)涌現(xiàn)。由于IE本身的“壟斷性”(雖然名義上IE并非壟斷,但實(shí)際上,特別是從Windows 95年代一直到XP初期,就市場占有率來說IE的確借助Windows的東風(fēng)處于“壟斷”的地位)而使得Trident內(nèi)核的長期一家獨(dú)大。 微軟很長時(shí)間都并沒有更新Trident內(nèi)核,這也導(dǎo)致了后面的兩個(gè)后果: 一是Trident內(nèi)核曾經(jīng)幾乎與W3C標(biāo)準(zhǔn)脫節(jié)(2005年) 二是Trident內(nèi)核的大量 Bug等安全性問題沒有得到及時(shí)解決,然后加上一些致力于開源的開發(fā)者和一些學(xué)者們公開自己認(rèn)為IE瀏覽器不安全的觀點(diǎn),也有很多用戶轉(zhuǎn)向了其他瀏覽 器,F(xiàn)irefox和Opera就是這個(gè)時(shí)候興起的。Trident內(nèi)核的常見瀏覽器有:IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)、2345瀏覽器等等 (4)PRESTO內(nèi)核 Presto是一個(gè)由Opera Software開發(fā)的瀏覽器排版引擎,供Opera 7.0及以上使用。該款引擎的特點(diǎn)就是渲染速度的優(yōu)化達(dá)到了極致,也是目前公認(rèn)網(wǎng)頁瀏覽速度最快的瀏覽器內(nèi)核,然而代價(jià)是犧牲了網(wǎng)頁的兼容性。實(shí)際上它是一個(gè)動(dòng)態(tài)內(nèi)核,與其它幾個(gè)內(nèi)核的最大的區(qū)別就在腳本處理上,Presto有著天生的 優(yōu)勢,頁面的全部或者部分都能夠在回應(yīng)腳本事件時(shí)等情況下被重新解析。此外該內(nèi)核在執(zhí)行Javascrīpt的時(shí)候有著最快的速度,根據(jù)在同等條件下的測 試,Presto內(nèi)核執(zhí)行同等Javascrīpt所需的時(shí)間僅有Trident和Gecko內(nèi)核的約1/3(Trident內(nèi)核最慢,不過兩者相差沒有多大) 4.CSS3中-MS-,-MOZ-,-WEBKIT-,-O-瀏覽器私有前綴詳解(1)-moz-:代表FireFox瀏覽器私有屬性 (2)-ms-:代表IE瀏覽器私有屬性 (3)-webkit-:代表safari、chrome瀏覽器私有屬性 (4)-o-:代表opera瀏覽器私有屬性 |
|