中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

瀏覽器的渲染原理簡介

  看到這個標(biāo)題大家一定會想到這篇神文《How Browsers Work》,這篇文章把瀏覽器的很多細(xì)節(jié)講得很細(xì),而且也被翻譯成了中文。為什么我還想寫一篇呢?因為兩個原因,

  1)這篇文章太長了,閱讀成本太大,不能一口氣讀完。

  2)花了大力氣讀了這篇文章后可以了解很多,但似乎對工作沒什么幫助。

  所以,我準(zhǔn)備寫下這篇文章來解決上述兩個問題。希望你能在上班途中,或是坐馬桶時就能讀完,并能從中學(xué)會一些能用在工作上的東西。

  瀏覽器工作大流程

  廢話少說,先來看個圖:

  從上面這個圖中,我們可以看到那么幾個事:

  1)瀏覽器會解析三個東西:

  • 一個是 HTML/SVG/XHTML,事實上,Webkit 有三個 C++ 的類對應(yīng)這三類文檔。解析這三種文件會產(chǎn)生一個 DOM Tree。
  • CSS,解析 CSS 會產(chǎn)生 CSS 規(guī)則樹。
  • Javascript,腳本,主要是通過 DOM API 和 CSSOM API 來操作 DOM Tree 和 CSS Rule Tree.

  2)解析完成后,瀏覽器引擎會通過 DOM Tree 和 CSS Rule Tree 來構(gòu)造 Rendering Tree。注意:

  • Rendering Tree 渲染樹并不等同于 DOM 樹,因為一些像 Header 或 display:none 的東西就沒必要放在渲染樹中了。
  • CSS 的 Rule Tree 主要是為了完成匹配并把 CSS Rule 附加上 Rendering Tree 上的每個 Element。也就是 DOM 結(jié)點。也就是所謂的 Frame。
  • 然后,計算每個 Frame(也就是每個 Element)的位置,這又叫 layout 和 reflow 過程。

  3)最后通過調(diào)用操作系統(tǒng) Native GUI 的 API 繪制。

  DOM 解析

  HTML 的 DOM Tree 解析如下:

<html><head>  <title>Web page parsing</title></head><body>  <div>  <h1>Web page parsing</h1>  <p>This is an example Web page.</p>  </div></body></html>

it知識庫瀏覽器的渲染原理簡介,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品精品视频一区二区三区 | 一级片在线免费播放 | 高清视频一区二区三区 | 日韩中文字幕在线不卡 | 成人一区在线观看 | 亚洲一视频 | 超碰在线免费公开 | 久久国产精品一区二区三区 | 国产精品久久在线观看 | 91免费观看 | 国内精品视频免费观看 | 欧美三区 | 黄网在线观看 | 成人免费淫片aa视频免费 | 日韩精品一区二区三区免费视频 | 四虎影院在线免费观看 | 亚洲欧美另类在线 | 久久久国产精品 | 羞羞视频网页 | 亚洲精品二区 | 国产精品久久久免费 | 久久久久无码国产精品一区 | 亚洲一区二区在线播放 | 91麻豆产精品久久久久久夏晴子 | 九九热这里只有精品在线观看 | 日韩精品在线看 | 九九亚洲| 午夜影院视频 | 亚洲色图在线观看 | 精产嫩模国品一二三区 | 男女污污网站 | 亚洲福利一区 | 综合久久99 | 国产精品久久久久久久久久免费看 | 亚洲一区在线日韩在线深爱 | 超碰在线97国产 | 伊人色综合久久久天天蜜桃 | 久久国产精品一区 | 亚洲一二三视频 | 国产做爰 | 久久久不卡网国产精品一区 |