<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## HTML解析,構建DOM 整個渲染步驟中,HTML解析是第一步。 簡單的理解,這一步的流程是這樣的:**瀏覽器解析HTML,構建DOM樹。** 但實際上,在分析整體構建時,卻不能一筆帶過,得稍微展開。 解析HTML到構建出DOM當然過程可以簡述如下: ``` Bytes → characters → tokens → nodes → DOM ``` 譬如假設有這樣一個HTML頁面:(以下部分的內容出自參考來源,修改了下格式) ``` <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1"> <link href="style.css" rel="stylesheet"> <title>Critical Path</title> </head> <body> <p>Hello <span>web performance</span> students!</p> <div><img src="awesome-photo.jpg"></div> </body> </html> ``` 瀏覽器的處理如下: :-: ![img](http://xiaoyulive.oss-cn-beijing.aliyuncs.com/date/2018-03-26/browser_parse_html.png) 列舉其中的一些重點過程: ``` 1. Conversion轉換:瀏覽器將獲得的HTML內容(Bytes)基于他的編碼轉換為單個字符 2. Tokenizing分詞:瀏覽器按照HTML規范標準將這些字符轉換為不同的標記token。每個token都有自己獨特的含義以及規則集 3. Lexing詞法分析:分詞的結果是得到一堆的token,此時把他們轉換為對象,這些對象分別定義他們的屬性和規則 4. DOM構建:因為HTML標記定義的就是不同標簽之間的關系,這個關系就像是一個樹形結構一樣 例如:body對象的父節點就是HTML對象,然后段略p對象的父節點就是body對象 ``` 最后的DOM樹如下: :-: ![img](http://xiaoyulive.oss-cn-beijing.aliyuncs.com/date/2018-03-26/browser_parse_dom.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看