[Javascript]ページの表示

3051 ワード

Webページの表示


Webブラウザでページをレンダリングする方法
  • モダンWebブラウザ
  • を参照
  • レンダーツリー、レイアウト、塗装を作成する
  • How Browsers Work : Behind the scenes of modern web browsers
  • Webブラウザの基本構造

            사용자 인터페이스
                  ↓
              브라우저 엔진
                  ↓				→ 자료 저장소
              렌더링 엔진
                  ↓
    통신/ 자바스크립트 해석기 / UI 백엔드

    1.ユーザーインタフェース

  • Webブラウザアドレスウィンドウ、後退、前進、お気に入り、リフレッシュ
    (ユーザインタフェースは可視領域以外の領域を占めています!)
  • ブラウザエンジン:レンダリングエンジンとユーザーUIの仲介として機能します!
  • レンダリングエンジン
    :ユーザーのエンジンにWebソースを表示します.
    作成したコードを説明します
    1)通信:画像、その他のスクリプト、スタイルシートのダウンロード
    2)JS解釈器:記述コードの解釈
    3)UIバックエンド:オペレーティングシステムに依存するUI形式
  • データストア:
  • 、Cookieなどの継続的な保存が必要なコンテンツを格納する

    レンダーエンジンのキャラクタ


    レンダー順序(Render Order)
    1)分割2)計算スタイル3)レイアウト4)塗装5)混合

    1.ボクシング

  • セグメント:HTMLをDOMに変換(作成したコード生成ツリー構造)
    1)エラーまたはエラー構文を使用した場合の例外処理
    ->エラーコードが表示されない
    2)<link><img>等のタグを使用してリソースをダウンロードする
    3)<script>タグに遭遇した場合、DOMパーティションを停止し、JSを解析する
    ->割り込みの原因:スクリプトコードにDOM構造を変更するコードが含まれている可能性がありますo
  • <html>
      ...
      <body>
        <script>
          document.write("<h2>hi~</h2>");
        </script>
      </body>
    </html>

    2.計算スタイル

  • スタイル計算ステップ:CSSをグループ化してCSOMに変換
    1)CSSOM情報によるドームノードのスタイルの決定
    2)クロム開発者ツールの計算項目で確認できるスタイル
    (スタイル計算フェーズで決定されたスタイル!)
  • 3.レイアウト

  • レイアウトツリーの作成(レンダーツリー)
    1)ドームと計算スタイルに沿ってレイアウトツリーを作成し、要素のサイズや座標などの情報が含まれます.
    2)ツリーには画面に表示される情報のみが含まれています
    ex)display:none X,仮想要素O
    Visibility:hiddenはスクリーンでは見えませんが、エリアレイアウト自体は変わらない!
  • 4.ペンキ

  • レイアウトツリー(「レンダリングツリー」)を作成すると、このツリーに沿ってペイント記録
  • が生成されます.
  • ペンキは、要素のレンダリング順序を記録し、これまでの情報に基づいて1つのページを複数のレイヤに分割し、テキスト、色、画像、ビュー、シャドウなどのすべての可視部分を描画します.
  • 色、実際に形状を描くためのステップ
  • 5.複合ステップ

  • 各レイヤーは、画面上で画素表示(リフレッシュ)
  • である.
  • 分割されたレイヤーを合成し、図
  • 整理する

  • パケット:HTMLパケットからツリーモデルを作成する
  • スタイル計算:DOM+CSSOM=スタイル決定
  • レイアウト:要素サイズ、座標情報(レンダリングツリー)
  • を計算する
  • 下塗り:図
  • にレイヤー上の可視部分を表示する
  • 複合:各レイヤーをピクセル化し、
  • を再合成する