1

HTML パーサーの解析シーケンスを知りたいです。

2 つの html ファイルがあるとします。

page1.html

<html>
<body>
<iframe id="x" src="page2.html"></iframe>
<div id="z"></div>
<--! something that need to be parsed -->
</body>
</html>

page2.html

<html>
<body>
<div id="y">
<body>
</html>

iframe タグが src を並行してダウンロードすることはわかっています (つまり、iframe src (この例では page2.html) がまだダウンロードされていないにもかかわらず、HTML パーサーは iframe タグの後続の行を解析します)。それで、問題は、いつ page2.html が解析されるのですか? つまり、div 要素 (id=y) が DOM ツリーに追加されると? page1.html のコードを解析した後に実行されますか、それとも page1.html の解析をブロックして page2.htmlを完全にダウンロードした直後に実行されますか? または、HTML パーサーは page1.html と page2.html を並行して (同時に) 解析しますか?

コメントやリンクをいただければ幸いです。ありがとう!

(間違った質問があれば教えてください。実は私はJavaScriptとHTMLは初めてです)

4

2 に答える 2

0

実際の順序はブラウザによって異なりますが、一般的なブラウザでは、最初にアクセスしているページの HTML のツリーを作成してから処理します。iframe の処理が始まると、そのページに移動してリクエストします。

これは、HTML がサーバーからチャンクでダウンロードされるという事実によって複雑になるため、部分ツリーからは、ページ 1 の半分が表示される前に、iframe からコンテンツのダウンロードを開始する可能性があります。

ただし、この動作に依存するべきではないということです。

于 2013-04-17T13:20:37.547 に答える
0

正確なタイミングはブラウザによって異なります。page1準備ができる前に、ダウンロードして準備する必要がありますpage2。ただし、page1ダウンロードと解析の開始前には準備ができていませんpage2

于 2013-04-17T13:18:45.627 に答える