亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

瀏覽器工作原理整理

Dionysus_go / 1684人閱讀

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

瀏覽器組成

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

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

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

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

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

js解析器

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


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

渲染引擎 主流程


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

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

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

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

解析

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

文法

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

html解析器

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

這門語言本身的寬容特性

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

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

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

CSS解析

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

腳本解析

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

渲染樹的構(gòu)造

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    jzman 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<