2017-02-07 3 views
1

スペックのスクリプトタグの用語「ノンブロッキング」を理解するにはどうすればよいですか? <a href="https://www.w3.org/TR/html51/semantics-scripting.html#non-blocking" rel="nofollow noreferrer">spec</a>で

第三の要素は、「非ブロッキング」するかどうかを示すフラグです。最初に、スクリプト要素にはこのフラグが設定されていなければなりません。 HTMLパーサとXMLパーサが挿入するスクリプト要素には設定されていません。さらに、「非ブロッキング」フラグがセットされているスクリプト要素に非同期コンテンツ属性が追加されると、その要素の「非ブロッキング」フラグは設定解除されなければなりません。

申し訳ありませんが、私はそれがこののいくつかの質問means.There何であるかを理解することはできません。

1.

は、第三の要素は、「非ブロックするかどうかを示すフラグでは、 "最初に、スクリプト要素は、このフラグが

を設定しておく必要があり、「最初」non-blockingという名前HTMLScriptElement class内のプロパティが存在することを意味し、デフォルトはtrueあるか、それが作成またはインスタンス化スクリプト要素が前にHTMLパーサによってparseredときtrueう意味?

2.

これは、HTMLパーサと、彼らは挿入するスクリプト要素のXMLパーサによって設定されていません。

"挿入"とは、document.writeまたはinsert操作を使用してスクリプト要素を文書に挿入することを意味しますか?また

そのフラグが設定されている「非ブロッキング」スクリプト要素が非同期コンテンツ属性が追加されるたびに、要素の「非ブロッキング」フラグが未設定でなければなりません。

async attributeからasyncのリンクが、言葉は「コンテンツ」があるので、それは正確に何を意味するのか?属性またはサーバーまたはローカルからフェッチコンテンツ?

そして、それはコンテンツを意味している場合、それはHTMLパーサは、非同期コンテンツが追加前にscript要素の後続のバイトを解析していきますrepresentesんか?

4(私はいくつかのテストを書き、私はこれは間違っていると思います)そして、最も重要なのは、「ノンブロッキング」とは、IOをブロックしたり、リソースをフェッチしたり、レイアウトを更新したり、通常のように再描画したりすることを意味しないのでしょうか?このフラグが設定されていますが、scriptは「ブロックされています」と正確には実行されていると考えていますので、最初にこれを読んだときは疑いがあります。

5.最終的には、仕様の便利なデバッグができるsrcコードを意味していますか?私はクロムベースのほうが良いと思います。申し訳ありませんが、他の人は良くないとは言えません。私はクロームだけをインストールします。

答えて

1
  1. 私は区別しません。実装の中でどのような機能的な違いがあるのでしょうか?

  2. 挿入操作。 document.writeは文書に挿入されません。パーサーが処理する入力バイトストリームに文字を挿入します。

  3. HTML5仕様では、「属性」には2つのタイプがあります。 「コンテンツ属性」と「IDL属性」。 「コンテンツ属性」は、マークアップに入れたものです。<script async>は非同期コンテンツ属性です。 「IDL属性」は、ほとんどの人がJavaScriptのプロパティとして考えるものですmyScriptElement.async

  4. これは、パーサースレッドをブロックしないことを意味します。パーサーは入力ストリームから文字を取り出し、要素、テキストノードオブジェクトなどを作成します。パーサーがブロックされると、入力ストリームから文字を消費しなくなります。 (入力ストリーム内を先読みして、他のリソースを取得するかどうかを推測し、とにかくそれらを投機的に取得するかもしれませんが)。 </script>タグが見つかると、非ブロッキングフラグが設定されていない場合、スクリプトがフェッチされて実行されるまで、パーサーは現在の入力ストリームからそれ以上の文字を消費しません。これにより、文字列を入力ストリームに挿入して次に解析するようにスクリプトにdocument.writeを含めることができます。

  5. Chrome(blink)とFirefox(gecko)はどちらもオープンソースですが、個人的にどちらかのコードベースを詳細に調べることはできませんでした。とにかくそれはおそらくかなり個人的な好みです。

+0

あなたの答えをありがとう。今私はそれを得ると思います。 –

関連する問題

 関連する問題