摘要:每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關文法。解析解析器,每個標識都有特定的正則進行解析。開發(fā)者可以將腳本標識為,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。
瀏覽器組成
用戶界面-地址欄、按鈕之類的
瀏覽器引擎-用來查詢及操作渲染引擎的接口
渲染引擎-顯示請求的內(nèi)容
網(wǎng)絡-進行網(wǎng)絡請求
ui后端-用來滬指選擇框、對話框的基本組件
js解析器
數(shù)據(jù)存儲
需要注意的是,不同于大部分瀏覽器,Chrome為每個Tab分配了各自的渲染引擎實例,每個Tab就是一個獨立的進程
解析html以構(gòu)建dom樹->構(gòu)建render樹->布局render樹->繪制render樹
渲染引擎開始解析html,并將標簽轉(zhuǎn)化胃內(nèi)容樹中的dom節(jié)點,接著它解析外部css文件及style標簽中的樣式信息,這些樣式信息和html元素中的樣式信息將被用來構(gòu)建另一顆樹---渲染樹
渲染樹是有一些包含有顏色和大小等屬性的矩形組成,它們將被按照正確的順序顯示到屏幕上。
渲染樹構(gòu)建好了之后,將會執(zhí)行布局過程,它將確定每個節(jié)點上在屏幕上的確切坐標,再下一步就是繪制渲染樹,使用ui后端層繪制每個節(jié)點
解析解析一個文檔即將其轉(zhuǎn)換為具有一定意義的結(jié)構(gòu)——編碼可以理解和使用的東西。解析的結(jié)果通常是表達文檔結(jié)構(gòu)的節(jié)點樹,稱為解析樹或語法樹。
文法解析基于文檔依據(jù)的語法規(guī)則——文檔的語言或格式。每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關文法。人類語言不具有這一特性,因此不能被一般的解析技術(shù)所解析。
html解析器html解析器將html標識解析成解析樹,解析書是有dom元素及屬性節(jié)點組成,dom是文檔對象模型的縮寫。解析算法 html并不是由頂向下或者自低向上的解析,
原因是:
這門語言本身的寬容特性
瀏覽器對一些常見的非法html有容錯機制
解析過程是往復的,通常源碼不會在解析過程中發(fā)生改變,但在html中,腳本標簽包含的“document.write ”可能添加標簽,這說明在解析過程中實際上修改了輸入
瀏覽器為html制定了專門的解析器。
CSS解析css解析器,css 每個標識都有特定的正則進行解析。一個規(guī)則集合具有一個或者可選個數(shù)的多個選擇器
腳本解析web的模式是同步的,開發(fā)者希望解析到一個script標簽時立即解析執(zhí)行腳本,并阻塞文檔的解析直到腳本執(zhí)行完。如果腳本是外引的,則網(wǎng)絡必須先請求到這個資源——這個過程也是同步的,會阻塞文檔的解析直到資源被請求到。這個模式保持了很多年,并且在html4及html5中都特別指定了。開發(fā)者可以將腳本標識為defer,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。Html5增加了標記腳本為異步的選項,以使腳本的解析執(zhí)行使用另一個線程。
渲染樹的構(gòu)造這個比較復雜,以后多帶帶來寫
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/116257.html
摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進行觀看 做前端的同學都知道,前端技術(shù)目前需要學習的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎,再學習新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流...
摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進行觀看 做前端的同學都知道,前端技術(shù)目前需要學習的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎,再學習新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流...
摘要:在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流。圖片可以點擊查看原圖進行觀看 做前端的同學都知道,前端技術(shù)目前需要學習的知識太多了,各種框架,技術(shù)層出不窮,但只要我們自己有自己的一套知識體系,打好基礎,再學習新東西就會很容易。在這里,我根據(jù)瀏覽器的工作原理整理了一套自己的知識體系,方便自己學習,有很多不足的地方,希望大家多多交流...
摘要:每種可被解析的格式必須具有由詞匯及語法規(guī)則組成的特定的文法,稱為上下文無關文法。解析解析器,每個標識都有特定的正則進行解析。開發(fā)者可以將腳本標識為,以使其不阻塞文檔解析,并在文檔解析結(jié)束后執(zhí)行。 瀏覽器組成 用戶界面-地址欄、按鈕之類的 瀏覽器引擎-用來查詢及操作渲染引擎的接口 渲染引擎-顯示請求的內(nèi)容 網(wǎng)絡-進行網(wǎng)絡請求 ui后端-用來滬指選擇框、對話框的基本組件 js解析器 數(shù)據(jù)...
摘要:渲染引擎渲染引擎也稱為瀏覽器內(nèi)核,主要時在瀏覽器窗口中顯示所請求的內(nèi)容,這是每個瀏覽器的核心部分。 瀏覽器的結(jié)構(gòu) 瀏覽器的主要組件包括: 用戶界面——包括地址欄、前進/后退按鈕、書簽菜單等。除了瀏覽器主窗口顯示用戶請求的頁面外,其他顯示的各個部分都屬于用戶界面。 用戶界面后端——用于繪制基本的窗口小部件,比如組合框和窗口。其公開了與web應用無關的通用接口,而在底層使用操作系統(tǒng)的用戶...
閱讀 627·2023-04-25 18:37
閱讀 2786·2021-10-12 10:12
閱讀 8358·2021-09-22 15:07
閱讀 570·2019-08-30 15:55
閱讀 3178·2019-08-30 15:44
閱讀 2198·2019-08-30 15:44
閱讀 1631·2019-08-30 13:03
閱讀 1563·2019-08-30 12:55