瀏覽器如何加載渲染頁面

  1. 用戶輸入網(wǎng)址,瀏覽器向服務器發(fā)出請求悯姊,服務器返回html文件羡藐;

  2. 瀏覽器開始載入全部的html代碼,發(fā)現(xiàn)<head>標簽內有一個<link>標簽引用外部CSS文件悯许,瀏覽器又發(fā)出CSS文件的請求传睹,服務器返回這個CSS文件;

  3. 瀏覽器繼續(xù)載入html中<body>部分的代碼岸晦,并且CSS文件已經(jīng)拿到手了欧啤,開始邊解析DOM變渲染;

  4. 瀏覽器在代碼中發(fā)現(xiàn)一個<img>標簽引用了一張圖片启上,向服務器發(fā)出請求邢隧。此時瀏覽器不會等到圖片下載完,而是繼續(xù)渲染后面的代碼冈在;

  5. 瀏覽器繼續(xù)執(zhí)行時倒慧,發(fā)現(xiàn)剛剛請求的圖片文件返回了,由于圖片占用了一定面積包券,影響了后面段落的排布纫谅,因此瀏覽器需要回過頭來重新渲染這部分代碼;

  6. 瀏覽器發(fā)現(xiàn)了一個包含一行Javascript代碼的<script>標簽溅固,趕快運行付秕;

  7. 瀏覽器發(fā)現(xiàn)了兩個個包含外部引用的<script>標簽,請求并運行侍郭,發(fā)送了第一個js請求之后不是阻塞询吴,而是會繼續(xù)發(fā)送第二個JS的外部鏈接請求掠河,結果出現(xiàn)了意外,第二個js的內容先返回了猛计,這時候瀏覽器不會執(zhí)行第二個js的代碼唠摹,而是會等第一個js的代碼返回執(zhí)行后才執(zhí)行第二個js的代碼;

  8. 瀏覽器發(fā)現(xiàn)了一個<script>外部標簽奉瘤,但是包含了async屬性勾拉,說明是一個異步請求的js,發(fā)送請求但是不必等返回執(zhí)行盗温;

  9. 在Javascript中望艺,腳本執(zhí)行了這條語句,它命令瀏覽器隱藏掉代碼中的某個<div> (style.display=”none”)肌访。杯具找默,突然就少了這么一個元素,瀏覽器不得不重新渲染這部分代碼吼驶;

  10. 終于等到了</html>的到來惩激,這次渲染終于完成了,觸發(fā)DOMContentLoaded事件(jQuery中的$(document).ready();方法)蟹演。

  11. 等待所有的圖片資源风钻、異步加載的JS文件請求完成了,瀏覽器趕緊觸發(fā)了onload事件酒请。

另外經(jīng)過測試(chrome)骡技,在onload事件以前,瀏覽器標題的loading圖標都會一直存在羞反。

為方便查看布朦,寫了一個小小的測試Demo,為模擬模擬請求的不同延時昼窗,頁面打開大概需要20s是趴,打開Condole查看。

http://www.eamonning.com/demo/htmlRender/

原文:http://www.eamonning.com/blog/view/498

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末澄惊,一起剝皮案震驚了整個濱河市唆途,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掸驱,老刑警劉巖肛搬,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異毕贼,居然都是意外死亡温赔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門帅刀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來让腹,“玉大人,你說我怎么就攤上這事扣溺『希” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵锥余,是天一觀的道長腹纳。 經(jīng)常有香客問我,道長驱犹,這世上最難降的妖魔是什么嘲恍? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮雄驹,結果婚禮上佃牛,老公的妹妹穿的比我還像新娘。我一直安慰自己医舆,他們只是感情好俘侠,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔬将,像睡著了一般爷速。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霞怀,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天惫东,我揣著相機與錄音,去河邊找鬼毙石。 笑死廉沮,一個胖子當著我的面吹牛,可吹牛的內容都是我干的徐矩。 我是一名探鬼主播废封,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丧蘸!你這毒婦竟也來了漂洋?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤力喷,失蹤者是張志新(化名)和其女友劉穎刽漂,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弟孟,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡贝咙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拂募。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庭猩。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡窟她,死狀恐怖,靈堂內的尸體忽然破棺而出蔼水,到底是詐尸還是另有隱情震糖,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布趴腋,位于F島的核電站吊说,受9級特大地震影響,放射性物質發(fā)生泄漏优炬。R本人自食惡果不足惜颁井,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蠢护。 院中可真熱鬧雅宾,春花似錦、人聲如沸葵硕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贬芥。三九已至吐辙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蘸劈,已是汗流浹背昏苏。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留威沫,地道東北人贤惯。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像棒掠,于是被迫代替她去往敵國和親孵构。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容