偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

關(guān)于瀏覽器內(nèi)核,你不得不了解的事

系統(tǒng) 瀏覽器
Rendering Engine,顧名思義,就是用來渲染網(wǎng)頁內(nèi)容的,將網(wǎng)頁的代碼轉(zhuǎn)換為最終你看得見的頁面。因為是排版,所以肯定會排版錯位等問題。

接下來主要介紹一些常見的瀏覽器內(nèi)核和JavaScript引擎,部分內(nèi)容來自于我在網(wǎng)上找到的資料,還有一些是我自己的理解,不保證完全正確,但是大致應(yīng)該是沒錯的。如果有誤,請指正……

[[178077]]

一、瀏覽器內(nèi)核 (排版引擎/渲染引擎)

首先解釋一下瀏覽器內(nèi)核是什么東西。英文叫做:Rendering Engine,中文翻譯很多,排版引擎、解釋引擎、渲染引擎,現(xiàn)在流行稱為瀏覽器內(nèi)核,至于為什么流行這么稱呼,請自行領(lǐng)悟。

Rendering Engine,顧名思義,就是用來渲染網(wǎng)頁內(nèi)容的,將網(wǎng)頁的代碼轉(zhuǎn)換為最終你看得見的頁面。因為是排版,所以肯定會排版錯位等問題。為什么會排版錯位呢?有的是由于網(wǎng)站本身編寫不規(guī)范,有的是由于瀏覽器本身的渲染不標(biāo)準(zhǔn)。

現(xiàn)在有幾個主流的排版引擎,因為這些排版引擎都有其代表的瀏覽器,所以常常會把排版引擎的名稱和瀏覽器的名稱混用,比如常的說IE內(nèi)核、Chrome內(nèi)核。其實這樣子是不太合理的,因為一個完整的瀏覽器不會只有一的排版引擎,還有自己的界面框架和其它的功能支撐,而排版引擎本身也不可能實現(xiàn)瀏覽器的所有功能。下面羅列一下幾款主流的排版引擎和瀏覽器。

1、Trident 內(nèi)核(Windows)

Trident 就是大名鼎鼎的 IE瀏覽器 所使用的內(nèi)核,也是很多瀏覽器所使用的內(nèi)核,通常被稱為IE內(nèi)核。基于Trident內(nèi)核的瀏覽器非常多,這是因為Trident內(nèi)核提供了豐富的調(diào)用接口。老的Trident內(nèi)核(比如常說的IE6內(nèi)核)一直是不遵循W3C標(biāo)準(zhǔn)的,但是由于當(dāng)時IE6的市場份額***,所以后果就是大量的網(wǎng)頁專門為IE6等老Trident內(nèi)核編寫,在IE6下顯示很正常,但其實這些網(wǎng)頁的代碼并不符合W3C標(biāo)準(zhǔn),于是,完全依據(jù)W3C標(biāo)準(zhǔn)寫的網(wǎng)頁在老的Trident內(nèi)核下面又出現(xiàn)偏差,這就是為什么很多人覺得后來的IE9的網(wǎng)頁排版有時會亂了,而IE6則正常,其實不是瀏覽器兼容性差了,而是你訪問的網(wǎng)頁不符合新的標(biāo)準(zhǔn)。目前可供調(diào)用的***版的Trident內(nèi)核是IE9所用的內(nèi)核,相較之前的版本對W3C標(biāo)準(zhǔn)的支持增強了很多。

Trident內(nèi)核的常見瀏覽器有:

IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);世界之窗、 360安全瀏覽器、傲游;搜狗瀏覽器;騰訊TT;阿云瀏覽器(早期版本)、百度瀏覽器(早期版本)、瑞星安全瀏覽器、Slim Browser; GreenBrowser、愛帆瀏覽器(12 之前版本)、115瀏覽器、155瀏覽器; 閃游瀏覽器、N氧化碳瀏覽器、糖果瀏覽器、彩虹瀏覽器、瑞影瀏覽器、勇者無疆瀏覽器、114瀏覽器、螞蟻瀏覽器、飛騰瀏覽器、速達(dá)瀏覽器、佐羅瀏覽器;

其中部分瀏覽器的新版本是“雙核”甚至是“多核”,其中一個內(nèi)核是Trident,然后再增加一個其他內(nèi)核。國內(nèi)的廠商一般把其他內(nèi)核叫做“高速瀏覽模式”,而Trident則是“兼容瀏覽模式”,用戶可以來回切換。

2、Gecko(跨平臺)

Netscape6 啟用的內(nèi)核,現(xiàn)在主要由Mozilla基金會進(jìn)行維護(hù),是開源的瀏覽器內(nèi)核,目前最主流的Gecko內(nèi)核瀏覽器是Mozilla Firefox,所以也常常稱之為火狐內(nèi)核。因為Firefox的出現(xiàn),IE的霸主地位逐步被削弱,Chrome的出現(xiàn)則是加速了這個進(jìn)程。非Trident內(nèi)核的興起正在改變著整個互聯(lián)網(wǎng),最直接的就是推動了編碼的標(biāo)準(zhǔn)化,也使得微軟在競爭壓力下不得不改進(jìn)IE。不過比較可惜的是,雖然是開源的,也開發(fā)了這么多年,基于Gecko的瀏覽器并不多見,除了一些簡單的改動(坑爹的X瀏覽器)或者是重新編譯(綾川ayakawa、tete009),深度定制或者增強型外殼的還比較少見。另外就是有一些其它軟件借用了Gecko內(nèi)核,比如音樂管理軟件SongBird。常見的Gecko內(nèi)核的瀏覽器:Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon

3、KHTML(Linux)

KDE開發(fā)的內(nèi)核,速度快捷,容錯度低。這個內(nèi)核可能不見得很多人知道,但是后面再看下去你就明白了。常見的KHTML內(nèi)核的瀏覽器:Konqueror

4、WebKit(跨平臺)

由KHTML發(fā)展而來,也是蘋果給開源世界的一大貢獻(xiàn)。是目前最火熱的瀏覽器內(nèi)核,火熱倒不是說市場份額,而是應(yīng)用的面積和勢頭。因為是脫胎于KHTML,所以也是具有高速的特點,同樣遵循W3C標(biāo)準(zhǔn)。從目前看來,WebKit 內(nèi)核是最有潛力而且是已經(jīng)有相當(dāng)成績的新興內(nèi)核,性能非常好,而且對W3C標(biāo)準(zhǔn)的支持很完善,本人非??春盟?/p>

當(dāng)前發(fā)展勢頭***勁的WebKit內(nèi)核,常見的WebKit內(nèi)核的瀏覽器:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認(rèn)瀏覽器,

5、Chromium(跨平臺)

其實 Chromium 就是 WebKit,維基百科里面并沒有將Chromium從WebKit分出來,這個區(qū)分完全是基于我個人的惡趣味。記得以前看過一個大牛的博文說過,Chromium把WebKit的代碼梳理得可讀性提高很多,所以以前可能需要一天進(jìn)行編譯的代碼,現(xiàn)在只要兩個小時就能搞定。這個我自己也沒有考究過,但是估計可信。這個也能解釋為什么Gecko和WebKit出來了這么久,第三方編譯、定制的版本并不多,但是由Chromium衍生出來的瀏覽器早就滿坑滿谷了。

常見的Chromium內(nèi)核的瀏覽器:Google Chrome、Chromium、SRWare Iron、Comodo Dragon

6、Presto(跨平臺)

Opera 所采用的內(nèi)核,準(zhǔn)確地說,是Opera 7.0及以后版本的內(nèi)核,Opera 3.5-6.1版本使用的內(nèi)核叫做Elektra。不用說,Presto對W3C標(biāo)準(zhǔn)的支持也是很良好的。雖然我很喜歡Opera,但是我對Presto的渲染速度一直有保留態(tài)度。之前在OperaChina論壇看見有人說過,Presto優(yōu)先解析文字,保證可閱讀性,媒體資源的渲染放后。常見的Presto內(nèi)核的瀏覽器:Opera

7、更多其它內(nèi)核可以參考維基百科

二、JavaScript引擎

說完了排版引擎,接下來說說 JavaScript 引擎。顧名思義,JavaScript引擎就是用來執(zhí)行JS代碼的。譬如說,一個算圓周率的網(wǎng)頁,排版引擎把頁面的框架給顯示出來了,但最終的結(jié)果需要用到 Javascript 來計算,所以Javascript引擎的快慢也是對整個網(wǎng)頁的速度有著很大影響,特別是目前越來越多類似 WebQQ、Gmail 等大量應(yīng)用了復(fù)雜的 Javascript 運算的網(wǎng)站,不同的引擎最終的速度差異會相當(dāng)大。

為什么要單獨拿出來說呢?因為它還涉及到跑分。經(jīng)??匆姾芏辔恼略趫蟮勒f哪個瀏覽器更快,其實大部分說的就是JavaScript的渲染速度,而不是頁面的載入速度。在網(wǎng)速許可的情況下,其實各個瀏覽器的頁面載入速度差別不大(Opera遜色一些)。那是不是說對比JavaScript的渲染速度其實沒有意義?也不是這么說,因為現(xiàn)在JavaScript在頁面中的比重會越來越大,越來越多的動態(tài)頁面開始大量借助JavaScript,比如現(xiàn)在主流的SNS、郵箱、網(wǎng)頁游戲,所以JavaScript的渲染速度也是一個很重要的指標(biāo)。JavaScript的渲染速度越快,動態(tài)頁面的展示也越快。Opera在JavaScript引擎的跑分上面一直都是很牛逼的,一般來說***測試版之間PK,Opera基本都會奪冠。

1、Chakra 查克拉,IE9啟用的新的JavaScript引擎。

2、SpiderMonkey / TraceMonkey / JaegerMonkey

SpiderMonkey應(yīng)用在Mozilla Firefox 1.0-3.0,TraceMonkey應(yīng)用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey應(yīng)用在Mozilla Firefox 4.0及后續(xù)的版本。

3、V8 應(yīng)用于Chrome、傲游3。

4、Nitro 應(yīng)用于Safari 4及后續(xù)的版本。

5、Linear A/Linear B/Futhark/Carakan

Linear A應(yīng)用于Opera 4.0-6.1版本,Linear B應(yīng)用于Opera 7.0~9.2版本,F(xiàn)uthark應(yīng)用于Opera 9.5-10.2版本,Carakan應(yīng)用于Opera 10.5及后續(xù)的版本。

6、KJS KHTML對應(yīng)的JavaScript引擎。

[[178078]]

三、幾個與瀏覽器有關(guān)的測試項目

1、V8引擎 測試傳送門,現(xiàn)在很多“雙核”瀏覽器都用它來跑分測試JavaScript引擎,分?jǐn)?shù)越高越好。

2、Acid3 測試傳送門,這個主要是對網(wǎng)頁標(biāo)準(zhǔn)的兼容性測試,分?jǐn)?shù)越高表示越符合網(wǎng)頁的開發(fā)標(biāo)準(zhǔn),滿分是100分。

3、HTML5 測試傳送門,測試瀏覽器對HTML5標(biāo)準(zhǔn)的支持,分?jǐn)?shù)越高越好。

四、幾個奇葩

1、IETab

這是一款瀏覽器擴展,并非內(nèi)核。在沒有第三方編譯版本的時候,IETab一直是 Mozilla Firefox、Chrome等非Trident內(nèi)核的瀏覽器的安裝量***的擴展之一,方便用戶在不開啟IE的情況下調(diào)用Trident內(nèi)核訪問一些兼容性比較差的網(wǎng)站。

2、Trident/Gecko雙核瀏覽器

雖然IETab能實現(xiàn)部分需求,但是深度訂制的畢竟還是不一樣,所以Trident/Gecko雙核瀏覽器就誕生了,Sleipnir、Avant 12(Orca)是這類里面比較常見的。Avant 12因為有Orca的前期積累,所以輕車熟路,后面還打算加入Chromium,變成三核瀏覽器,但是偏偏現(xiàn)在Mozilla Firefox和Chrome都在瘋狂刷版本號,肯定有一部分精力要花在跟進(jìn)版本上。

3、Trident/WebKit雙核瀏覽器

現(xiàn)在國內(nèi)最主流的“雙核”瀏覽器基本都是這個架構(gòu),360極速瀏覽器、世界之窗瀏覽器極速版、傲游3搜狗瀏覽器3、QQ瀏覽器、楓樹瀏覽器、快快瀏覽器、百度瀏覽器、阿云瀏覽器(后期版本)、太陽花瀏覽器,其中最奇葩的是傲游3。其它雙核瀏覽器都是基于Chromium的,而傲游是基于WebKit的,但是偏偏又用的是V8引擎。

4、Trident/Gecko/WebKit三核瀏覽器

目前能見的應(yīng)該就是日本的Lunascape,Avant增加了WebKit內(nèi)核之后也會歸類到這里。說實話,Lunascape真的很難用,真的很奇葩。各個內(nèi)核相對獨立,外殼本身不夠強化,穩(wěn)定性不高,所以還不如用回單核瀏覽器。

[[178079]]

五、幾個小點

1、Chrome/Chromium

很多人都會說自己用的雙核瀏覽器是Chrome/IE雙核的,或者說是基于Chrome的。其實這種說法并不正確,因為Chrome本身并不開源,其它廠商是不能去定制Chrome的。能被修改、定制的是Chromium,Chrome的開源開發(fā)版本,代碼和Build都提供下載。

Chromium/Chrome兩個單詞都是鉻,分別是拉丁文和英文,除了名字之外,很有很多不同,你可以自己對比一下。Chromium一天最多可以更新十幾二十個版本,實驗性的新特性都會現(xiàn)在這里放出,但是Chromium本身其實并不穩(wěn)定。Chrome總共有四個更新分支:Canary、Dev、Beta、Stable,穩(wěn)定性依次增強。

2、MyIE、MyIE2、傲游、GreenBrowser 自行搜索,一段歷史。

3、頁面兼容性判斷

在確保IE瀏覽器沒有損壞的基礎(chǔ)上,搭配一款非Trident內(nèi)核的瀏覽器進(jìn)行判斷,如果可以的話,***所有內(nèi)核都配齊了??刂谱兞烤湍苷业絾栴}所在,是瀏覽器本身的問題,還是頁面編碼有問題。對于用戶來說就能更好地去選擇自己該用什么瀏覽器訪問什么頁面,對于開發(fā)者來說應(yīng)該要寫出無差別代碼。

4、一直被模仿,一直被超越的Opera

Opera其實很好看也很好用,而且極度創(chuàng)新(貌似全頁面縮放、多標(biāo)簽瀏覽、鼠標(biāo)手勢、快速撥號等功能都是它首創(chuàng)的),但是市場占有率一直很低。很多很好用的新特性總是被抄襲,所以大家笑稱Opera“一直被模仿,一直被超越”。坊間傳聞多標(biāo)簽頁瀏覽器就是Opera發(fā)明的,但是貌似有人考究了這個傳聞其實不屬實。不過快速撥號、Turbo瀏覽等功能就是扎扎實實Opera首創(chuàng)的。你可以不用Opera,但是你會損失很多樂趣。

5、這年頭流行刷版本號

現(xiàn)在版本號***的瀏覽器是Chrome,穩(wěn)定版的版本號是14,也是現(xiàn)在主流瀏覽器里面誕生時間最短的,真是一個刷版本號高手。早期的Chrome版本更迭還會增加一些比較重要的新特性,比如擴展支持,現(xiàn)在的版本更迭基本上并沒有伴隨什么大的更新?,F(xiàn)在很多偽高端用戶就會整天追著第三方編譯版本趕緊跟進(jìn)版本號,但是其實真正的意義并不大。

多虧了Chrome的“提攜”,今年Firefox也在猛刷版本號,年初還是3.x,現(xiàn)在正式版已經(jīng)是7.0.1,每夜版已經(jīng)到了10.0。Opera積累了多年才到11.50,測試版是12.0。IE的正式版是9,平臺預(yù)覽版是10。

6、查看源代碼、開發(fā)者工具

一般來說,查看源代碼和使用開發(fā)者工具是比較實用的,普通用戶可能用的機會并不多,但是在判斷一些問題的時候其實是很有用的。通過查看源代碼或者使用開發(fā)者工具,可以大致了解這些網(wǎng)站里面的一些元素或者加載的腳本或者是規(guī)則,對于判斷兼容性問題有一定的幫助,也可以用來準(zhǔn)確捕捉頁面元素。

責(zé)任編輯:武曉燕 來源: linuxprobe
相關(guān)推薦

2014-06-16 10:03:54

分組交換

2018-04-16 23:14:39

SD-WANSDN網(wǎng)絡(luò)

2012-02-21 09:20:50

Hadoop大數(shù)據(jù)

2019-06-06 16:13:14

JVMJava后端

2017-04-01 09:22:38

Android開發(fā)知識點

2015-03-04 09:23:46

廣域網(wǎng)網(wǎng)絡(luò)優(yōu)化

2022-10-27 09:55:00

2010-01-07 09:17:57

HTML 5

2019-04-03 09:10:35

Rediskey-value數(shù)據(jù)庫

2009-06-26 11:01:38

new和delete

2010-05-26 15:17:06

Windows Emb

2013-02-19 10:01:53

大數(shù)據(jù)大數(shù)據(jù)科學(xué)主流解決方案

2020-07-09 12:50:29

JVM內(nèi)存管理Java

2012-07-17 11:19:12

Office2013

2011-08-11 10:47:23

2021-03-14 15:51:34

比特幣加密貨幣貨幣

2014-04-15 10:18:24

中文女工科男

2017-08-16 18:03:12

Docker安全工具容器

2022-01-27 07:39:57

進(jìn)程操作系統(tǒng)Linux

2019-12-10 15:30:27

SaaSIaaS云計算
點贊
收藏

51CTO技術(shù)棧公眾號