0

我目前无法现场测试,所以我问:
如果这个脚本正忙于从数组加载图像(比如,几 MB 值),并且用户碰巧执行了一些需要其中一个图像的行为还没有加载,加载会延迟吗?或者浏览器可以发送并行请求吗?

function preloadImg()
{ 
var args = simplePreload.arguments;
document.imageArray = new Array(args.length);
for(var i=0; i<args.length; i++)
  {
  document.imageArray[i] = new Image;
  document.imageArray[i].src = args[i];
  }
}
4

1 回答 1

1

浏览器只会在同一个域上并行运行这么多请求。该数字因浏览器而异。因此,您通常希望看到额外的请求在最后排队。

在某种程度上解决这个问题的一种方法是将您的预加载图像与其他图像放在不同的域上,因为浏览器将并行加载来自不同域的请求。

因此,如果您从 domaina.com 最多并行预加载 8 个图像,您仍然可以同时加载 domainb.com 上的命令可能需要的图像。这可以帮助您解决并行加载问题。

我想您仍然希望在一些浏览器中测试您的特定问题,但我希望这会有所帮助。

于 2010-09-14T07:18:48.423 回答