1

簡単な**テスト**を作成しました

私は10<p>の要素を持っています。

最初の要素の後にスクリプトがあります:で10を作成IframesSRc、それらを最初の要素に追加します

エレメント。

for (var i=0;i<10;i++)
     {
       var t=$("<iframe />").css({'width':'50px','height':'50px'}).attr('src','http://www.msdn.com');
        $("#hello").append(t);
      }

奇妙ですが、iframe全体が完全に読み込まれる前に<p> 他の9つが表示されます...

ページ要素に新しい要素(iframe)を追加すると、後続のhtmlレンダリングがブロックされるべきではありませんか? (さらに、私たちが知っているように、javascriptはシングルスレッドです)

ここに画像の説明を入力してください

4

1 に答える 1

4

いいえ。JavaScriptはシングルスレッドですが、ブラウザが複数のHTTPリクエストを同時に起動できないという意味ではありません。画像は同時HTTPリクエストを介して読み込まれることも考慮してください。

<iframe>ドキュメントにを追加するとHTTPリクエストが開始されますが、JavaScriptはシングルスレッドであるため、コードはそれが完了するのを待ちません。

于 2012-06-11T21:47:35.987 に答える