2010-09-14 92 views
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]; 
    } 
} 

回答

1

浏览器将只运行在同一个域并行这么多的要求。浏览器的数量各不相同。所以你通常希望看到额外的请求在最后排队。

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

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

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