至于眾多的瀏覽器,他們只不過是:{不同瀏覽器的外殼+內(nèi)核=瀏覽器}。外殼指的是瀏覽器界面上的菜單,工具欄,那些讓用戶操作的。而他們都是調(diào)用內(nèi)核來實(shí)現(xiàn)各種功能,可見內(nèi)核才是瀏覽器的核心。所以,我們只要了解一款瀏覽器的核心引擎是什么,然后就可以對(duì)其進(jìn)行兼容性測試,不會(huì)覺得無從下手。
瀏覽器的內(nèi)核又可以分為:渲染引擎和js引擎:
渲染引擎:layout engineer或者Rendering Engine,它們負(fù)責(zé)頁面內(nèi)容的解析和渲染,也就是訪問一個(gè)網(wǎng)站,從頁面空白到頁面加載完成,頁面有樸實(shí)到排版完整的過程。它會(huì)解析頁面的標(biāo)簽,載入css,然后計(jì)算頁面顯示方式。這理解是有不同的瀏覽器內(nèi)核,他們對(duì)網(wǎng)頁的詞法的解析也有所不同,所以就出現(xiàn)了顯示差異,就是我們前端開發(fā)這頭疼的兼容性問題。
js引擎:對(duì)頁面腳本(javascript)語言的解析,實(shí)現(xiàn)頁面一些動(dòng)態(tài)效果。
四種內(nèi)核的簡介:
1、Trident:微軟開發(fā)的引擎,其產(chǎn)品IE產(chǎn)品都是它驅(qū)動(dòng),也有很多其他瀏覽器也用它做內(nèi)核。因?yàn)槲④沬e一直是老大地位,有點(diǎn)自我發(fā)展,對(duì)w3c的標(biāo)準(zhǔn)支持沒那么好。存在不少bug,最初更新很少,導(dǎo)致ie5+,ie6等萬惡的瀏覽器存在,讓不少前端開發(fā)經(jīng)驗(yàn)不多的同學(xué)無比的鄙視之!不錯(cuò)從ie8+開始,ie又慢慢的強(qiáng)大起來了,期待ie10...
2、Gecko:開源的渲染引擎,有C++編寫,功能強(qiáng)大,功能強(qiáng)大、豐富,可以支持很多復(fù)雜網(wǎng)頁效果和瀏覽器擴(kuò)展接口,FireFox就是代表,對(duì)w3c標(biāo)準(zhǔn)支持很好,開發(fā)和調(diào)試都很強(qiáng)大,就是啟動(dòng)速度不太給力;
3、WebKit:蘋果公司基于KHTML開發(fā)的,對(duì)網(wǎng)頁的解析比較快,僅此于Presto,但是容錯(cuò)比較差,不標(biāo)準(zhǔn)的網(wǎng)頁無法正常顯示。用它做核心開發(fā)的瀏覽器代表是Safari,Chrome;
4、Presto:Opera Software公司開始的,是被大家公認(rèn)為最快的渲染引擎。處理JS腳本等腳本語言時(shí),會(huì)比其他的內(nèi)核快3倍左右,但是快也存在一些問題,就是丟掉了一些網(wǎng)頁兼容性;
現(xiàn)在,估計(jì)你對(duì)瀏覽器有一定的認(rèn)識(shí),對(duì)你以后做瀏覽器兼容問題應(yīng)該有所幫助。不同的內(nèi)核就有不同的渲染引擎,對(duì)頁面的解析也有所不同,這就是造成頁面差異的原因。但是如果我們在布局的時(shí)候,盡量用精簡的html結(jié)構(gòu),合理的配合使用css,就可以大大的減少兼容行問題,從而加快我們的開發(fā)效率。
相關(guān)文章:
主流瀏覽器內(nèi)核及JS引擎
瀏覽器內(nèi)核總結(jié)
php獲取瀏覽器內(nèi)核版本
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com