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);
      }

奇怪,但我确实看到了其他 9 个<p>整个 iframe 完全加载之前......

不应该在 Page 元素中添加新元素(iframe)应该阻止后续的 html 渲染吗? (另外,众所周知,javascript 是单线程的)

在此处输入图像描述

4

1 回答 1

4

不, JavaScript是单线程的,但这并不意味着浏览器不能同时启动多个 HTTP 请求。考虑到图像也通过并发 HTTP 请求加载。

<iframe>向文档添加一个HTTP 请求会启动一个 HTTP 请求,但是——因为JavaScript 是单线程的——代码不会等待该请求完成。

于 2012-06-11T21:47:35.987 回答