成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

瀏覽器工作原理整理

hqman / 2203人閱讀

摘要:每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關(guān)文法。解析解析器,每個標(biāo)識都有特定的正則進(jìn)行解析。開發(fā)者可以將腳本標(biāo)識為,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。

瀏覽器組成

用戶界面-地址欄、按鈕之類的

瀏覽器引擎-用來查詢及操作渲染引擎的接口

渲染引擎-顯示請求的內(nèi)容

網(wǎng)絡(luò)-進(jìn)行網(wǎng)絡(luò)請求

ui后端-用來滬指選擇框、對話框的基本組件

js解析器

數(shù)據(jù)存儲


需要注意的是,不同于大部分瀏覽器,Chrome為每個Tab分配了各自的渲染引擎實例,每個Tab就是一個獨立的進(jìn)程

渲染引擎 主流程


解析html以構(gòu)建dom樹->構(gòu)建render樹->布局render樹->繪制render樹

渲染引擎開始解析html,并將標(biāo)簽轉(zhuǎn)化胃內(nèi)容樹中的dom節(jié)點,接著它解析外部css文件及style標(biāo)簽中的樣式信息,這些樣式信息和html元素中的樣式信息將被用來構(gòu)建另一顆樹---渲染樹

渲染樹是有一些包含有顏色和大小等屬性的矩形組成,它們將被按照正確的順序顯示到屏幕上。

渲染樹構(gòu)建好了之后,將會執(zhí)行布局過程,它將確定每個節(jié)點上在屏幕上的確切坐標(biāo),再下一步就是繪制渲染樹,使用ui后端層繪制每個節(jié)點

解析

解析一個文檔即將其轉(zhuǎn)換為具有一定意義的結(jié)構(gòu)——編碼可以理解和使用的東西。解析的結(jié)果通常是表達(dá)文檔結(jié)構(gòu)的節(jié)點樹,稱為解析樹或語法樹。

文法

解析基于文檔依據(jù)的語法規(guī)則——文檔的語言或格式。每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關(guān)文法。人類語言不具有這一特性,因此不能被一般的解析技術(shù)所解析。

html解析器

html解析器將html標(biāo)識解析成解析樹,解析書是有dom元素及屬性節(jié)點組成,dom是文檔對象模型的縮寫。解析算法 html并不是由頂向下或者自低向上的解析,
原因是:

這門語言本身的寬容特性

瀏覽器對一些常見的非法html有容錯機(jī)制

解析過程是往復(fù)的,通常源碼不會在解析過程中發(fā)生改變,但在html中,腳本標(biāo)簽包含的“document.write ”可能添加標(biāo)簽,這說明在解析過程中實際上修改了輸入

瀏覽器為html制定了專門的解析器。

CSS解析

css解析器,css 每個標(biāo)識都有特定的正則進(jìn)行解析。一個規(guī)則集合具有一個或者可選個數(shù)的多個選擇器

腳本解析

web的模式是同步的,開發(fā)者希望解析到一個script標(biāo)簽時立即解析執(zhí)行腳本,并阻塞文檔的解析直到腳本執(zhí)行完。如果腳本是外引的,則網(wǎng)絡(luò)必須先請求到這個資源——這個過程也是同步的,會阻塞文檔的解析直到資源被請求到。這個模式保持了很多年,并且在html4及html5中都特別指定了。開發(fā)者可以將腳本標(biāo)識為defer,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。Html5增加了標(biāo)記腳本為異步的選項,以使腳本的解析執(zhí)行使用另一個線程。

渲染樹的構(gòu)造

這個比較復(fù)雜,以后多帶帶來寫

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116257.html

相關(guān)文章

  • 根據(jù)覽器工作原理整理前端知識體系

    摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進(jìn)行觀看 做前端的同學(xué)都知道,前端技術(shù)目前需要學(xué)習(xí)的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎(chǔ),再學(xué)習(xí)新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流...

    Riddler 評論0 收藏0
  • 根據(jù)覽器工作原理整理前端知識體系

    摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進(jìn)行觀看 做前端的同學(xué)都知道,前端技術(shù)目前需要學(xué)習(xí)的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎(chǔ),再學(xué)習(xí)新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流...

    xiaotianyi 評論0 收藏0
  • 根據(jù)覽器工作原理整理前端知識體系

    摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進(jìn)行觀看 做前端的同學(xué)都知道,前端技術(shù)目前需要學(xué)習(xí)的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎(chǔ),再學(xué)習(xí)新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學(xué)習(xí),有很多不足的地方,希望大家多多交流...

    JasonZhang 評論0 收藏0
  • 覽器工作原理整理

    摘要:每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關(guān)文法。解析解析器,每個標(biāo)識都有特定的正則進(jìn)行解析。開發(fā)者可以將腳本標(biāo)識為,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。 瀏覽器組成 用戶界面-地址欄、按鈕之類的 瀏覽器引擎-用來查詢及操作渲染引擎的接口 渲染引擎-顯示請求的內(nèi)容 網(wǎng)絡(luò)-進(jìn)行網(wǎng)絡(luò)請求 ui后端-用來滬指選擇框、對話框的基本組件 js解析器 數(shù)據(jù)...

    Dionysus_go 評論0 收藏0
  • 覽器工作原理整理

    摘要:渲染引擎渲染引擎也稱為瀏覽器內(nèi)核,主要時在瀏覽器窗口中顯示所請求的內(nèi)容,這是每個瀏覽器的核心部分。 瀏覽器的結(jié)構(gòu) 瀏覽器的主要組件包括: 用戶界面——包括地址欄、前進(jìn)/后退按鈕、書簽菜單等。除了瀏覽器主窗口顯示用戶請求的頁面外,其他顯示的各個部分都屬于用戶界面。 用戶界面后端——用于繪制基本的窗口小部件,比如組合框和窗口。其公開了與web應(yīng)用無關(guān)的通用接口,而在底層使用操作系統(tǒng)的用戶...

    jzman 評論0 收藏0

發(fā)表評論

0條評論

hqman

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<