摘要:在這個過程中,中可能會通過去引入其他相應(yīng)的資源,比如的資源,這個時候?yàn)g覽器可能就會兵法的向服務(wù)器去請求這個相關(guān)的靜態(tài)資源,請求回來后通過解析器對其進(jìn)行解析,從而生成一個樹,去和樹進(jìn)行結(jié)合生成一個,進(jìn)一步的進(jìn)行一個布局,最終進(jìn)行繪制。
網(wǎng)頁內(nèi)容的組成
doctype: 提供瀏覽器的html版本信息
head : html頭部
meta: 元數(shù)據(jù)信息
charset: 聲明當(dāng)前文檔所實(shí)用的字符編碼
http-equiv: 客戶端行為,如渲染模式,緩存等
name[keywords]: 搜索引擎關(guān)鍵字
name[description]: 搜索引擎描述
name[viewport]: 瀏覽器視口設(shè)置
link
script: 需要在body前完成加載或運(yùn)行的腳本
body: html實(shí)體
script: 需要在body解析時加載或運(yùn)行的腳本
渲染需要做的工作通過上面的圖可以知道,網(wǎng)頁內(nèi)容首先會被html解析器解析成一個DOM樹,實(shí)際上html是我們最先會通過網(wǎng)址向服務(wù)器請求回來的,請求回來的html從字節(jié)流轉(zhuǎn)成字符流,我們的瀏覽器實(shí)際拿到的就是一個字符流,然后瀏覽器通過詞法分析對輸入字節(jié)流進(jìn)行逐字掃描,根據(jù)構(gòu)詞規(guī)則識別單詞和符號,分詞,生成相應(yīng)的token,之后會將這些token通過nextToken()添加到dom樹中去。所以html解析是從上到下對文檔進(jìn)行一個此法分析,所以它首先遇到html標(biāo)簽的時候會對html生成一個token,這個token會被標(biāo)記成一個startTag的類型,對于header的花也會被標(biāo)記成startTag,但是它會聲稱為headerToken,就是說對于不同類型的html標(biāo)簽格式,在詞法分析的過程中,會解析成一個相應(yīng)的對象,然后token類型會被瀏覽器解析,最后會將token類型append到dom樹上去。
在這個過程中,html中可能會通過link去引入其他相應(yīng)的資源,比如css的資源,這個時候?yàn)g覽器可能就會兵法的向服務(wù)器去請求這個相關(guān)的靜態(tài)資源,請求回來后通過css解析器對其進(jìn)行解析,從而生成一個css樹,去和dom樹進(jìn)行結(jié)合生成一個render Tree,進(jìn)一步的進(jìn)行一個布局,最終進(jìn)行繪制。
加載css的加載不會阻塞dom解析,但是會阻塞頁面渲染,所以一般把css加載放在頭部
css會去阻塞js的執(zhí)行,就是說css資源在加載完之前,js的執(zhí)行會被阻塞,但是css不會阻塞js腳本的加載
js會去阻塞頁面dom的解析
js不阻塞資源的加載
js順序執(zhí)行,阻塞后續(xù)js邏輯的執(zhí)行
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/114280.html
摘要:原文鏈接瀏覽器渲染那些事之瀏覽器內(nèi)核渲染引擎在各個瀏覽器廠商你追我趕的形勢下,截止今日,產(chǎn)生了很多不同的瀏覽器,各個瀏覽器本質(zhì)大同小異,核心部分基本相似,由渲染引擎和引擎組成。 原文鏈接 瀏覽器渲染那些事之 Reflow、Repaint 瀏覽器內(nèi)核(渲染引擎) 在各個瀏覽器廠商你追我趕的形勢下,截止今日,產(chǎn)生了很多不同的瀏覽器,各個瀏覽器本質(zhì)大同小異,核心部分基本相似,由渲染引擎和 J...
摘要:前言瀏覽器的內(nèi)核是指支持瀏覽器運(yùn)行的最核心的程序,分為兩個部分的,一是渲染引擎,另一個是引擎。渲染引擎在不同的瀏覽器中也不是都相同的。接下來就是瀏覽器的渲染過程。布局完成后,瀏覽器會立即發(fā)出和事件,將渲染樹轉(zhuǎn)換成屏幕上的像素。 前言 瀏覽器的內(nèi)核是指支持瀏覽器運(yùn)行的最核心的程序,分為兩個部分的,一是渲染引擎,另一個是JS引擎。渲染引擎在不同的瀏覽器中也不是都相同的。目前市面上常見的瀏覽...
摘要:前言瀏覽器的內(nèi)核是指支持瀏覽器運(yùn)行的最核心的程序,分為兩個部分的,一是渲染引擎,另一個是引擎。渲染引擎在不同的瀏覽器中也不是都相同的。接下來就是瀏覽器的渲染過程。布局完成后,瀏覽器會立即發(fā)出和事件,將渲染樹轉(zhuǎn)換成屏幕上的像素。 前言 瀏覽器的內(nèi)核是指支持瀏覽器運(yùn)行的最核心的程序,分為兩個部分的,一是渲染引擎,另一個是JS引擎。渲染引擎在不同的瀏覽器中也不是都相同的。目前市面上常見的瀏覽...
摘要:由一道面試題引發(fā)的思考從用戶輸入瀏覽器輸入到頁面最后呈現(xiàn)有哪些過程一道很常規(guī)的題目,考的是基本網(wǎng)絡(luò)原理,和瀏覽器加載,過程。所以抽出時間研究下瀏覽器渲染頁面的過程。 由一道面試題引發(fā)的思考: 從用戶輸入瀏覽器輸入url到頁面最后呈現(xiàn) 有哪些過程?一道很常規(guī)的題目,考的是基本網(wǎng)絡(luò)原理,和瀏覽器加載css,js過程。 答案大致如下: 用戶輸入URL地址 瀏覽器解析URL解析出主機(jī)名 瀏覽...
摘要:響應(yīng)由三個部分組成,分別是狀態(tài)行消息報(bào)頭響應(yīng)正文。詳情參考小汪之前寫的文章瀏覽器內(nèi)核之解釋器和模型解釋解釋過程是指從字符串經(jīng)過解釋器處理后變成渲染引擎內(nèi)部規(guī)則的表示過程。 showImg(https://segmentfault.com/img/remote/1460000016404846); 前言 小汪最近在看【W(wǎng)ebKit 技術(shù)內(nèi)幕】一書,說實(shí)話,這本書寫的太官方了,不通俗易懂。...
閱讀 1426·2021-11-09 09:45
閱讀 1791·2021-11-04 16:09
閱讀 1457·2021-10-14 09:43
閱讀 1821·2021-09-22 15:24
閱讀 1601·2021-09-07 10:06
閱讀 1601·2019-08-30 14:15
閱讀 985·2019-08-30 12:56
閱讀 1570·2019-08-29 17:22