1、介紹一下你對瀏覽器內(nèi)核的理解?
主要分成兩部分:渲染引擎(layout engineer或 Rendering Engine) 和 JS 引擎。
渲染引擎:負(fù)責(zé)取得網(wǎng)頁的內(nèi)容(HTML、 XML 、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網(wǎng)頁的顯示方式,然后會輸出至顯示器或打印機(jī)。瀏覽器的內(nèi)核的不同對于網(wǎng)頁的語法解釋會有不同,所以渲染的效果也不相同。所有網(wǎng)頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網(wǎng)絡(luò)內(nèi)容的應(yīng)用程序都需要內(nèi)核。
JS引擎則:解析和執(zhí)行 javascript 來實現(xiàn)網(wǎng)頁的動態(tài)效果。
最開始渲染引擎和JS引擎并沒有區(qū)分的很明確,后來 JS 引擎越來越獨立,內(nèi)核就傾向于只指渲染引擎。
2、常見的瀏覽器內(nèi)核有哪些?
Gecko內(nèi)核
以Mozilla瀏覽器為代表,F(xiàn)irefoxGecko是一套開放源代碼的、以C++編寫的網(wǎng)頁排版引擎。Gecko是最流行的排版引擎之一。使用它的比較著名的瀏覽器是Firefox、Netscape6至9.
Trident內(nèi)核
Trident又被稱為MSHTML,是微軟開發(fā)的一種排版引擎。使用Trident渲染引擎的瀏覽器主要有:IE、世界之窗瀏覽器、傲游、Avant、Sleipnir、GreenBrowser、NetCaptor和KKman等。
WebKit內(nèi)核
代表瀏覽器有Safari、Chromewebkit。是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統(tǒng),特點在于源碼結(jié)構(gòu)清晰、渲染速度極快。缺點是對網(wǎng)頁代碼的兼容性不高,導(dǎo)致一些編寫不標(biāo)準(zhǔn)的網(wǎng)頁無法正常顯示。主要作品有Safari以及Chrome。
Presto內(nèi)核
是由Opera Sofeware開發(fā)的瀏覽器排版引擎,Opera7.0及以上可使用。它取代了舊版Opera4到6使用的Elektra排版引擎,包括加入動態(tài)功能,而重新排版。