Javascript IE10中止图像下载

Javascript IE10中止图像下载,javascript,html,image,internet-explorer,internet-explorer-10,Javascript,Html,Image,Internet Explorer,Internet Explorer 10,我正在尝试缓存数百个相当大的图像(每个图像大约为2000x2500350KB),以便在web应用程序中显示。我的基本过程是为每个对象创建一个图像对象,设置其src,然后等待下载。然后在应用程序需要时,使用Image对象加载图像 <!DOCTYPE html> <html> <head> <script type="text/javascript"> var countSpan, errorSpan; var imageArray =

我正在尝试缓存数百个相当大的图像(每个图像大约为2000x2500350KB),以便在web应用程序中显示。我的基本过程是为每个对象创建一个图像对象,设置其src,然后等待下载。然后在应用程序需要时,使用Image对象加载图像

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
    var countSpan, errorSpan;
    var imageArray = new Array();

    var index = 0;
    var imageCount = 199;
    var concurrent = 4;

    var count = 0;
    var error = 0;

    function runTest() {
        countSpan = document.getElementById('countSpan');
        errorSpan = document.getElementById('errorSpan');
        next(); 
    }

    function next() {
        while (index < imageCount && concurrent > 0) {
            downloadImage('images/' + index + '.jpg', index);
            index++;
        }
        countSpan.innerHTML = count;
        errorSpan.innerHTML = error;
    }

    function downloadImage(src, index) {
        concurrent--;
        var image = new Image();
        imageArray[index] = image;
        image.onload = function() {
            concurrent++;
            count++;
            next();
        }
        image.onerror = function() {
            concurrent++;
            error++;
            next();
        }
        image.src = src;
    }
</script>
</head>

<body onload='runTest()'>
    <p>Downloaded: <span id='countSpan'></span></p>
    <p>Errors: <span id='errorSpan'></span></p>
</body>
</html>
IE10下载所有200幅图像。但这与目的背道而驰


在我看来,IE10对图像引用有大小限制。但我找不到任何文件支持这一点。如果您能提供一个指向定义此限制的文档的链接或提供一个解决方案,我们将不胜感激。

我认为这不会影响任何事情,但我只是想知道-为什么要将它们添加到DOM中,然后删除它们。只需使用
new Image()
,然后将它们放入数组中,即可对它们进行缓存。这不管用吗?同样,这是一个愚蠢的想法,但是如果你把
imageArray
分成3个数组,每个数组可以容纳90个。再一次,我怀疑这是个问题,但这是一个理想主义者。谢谢你的建议。关于不需要将图像添加到DOM中,您当然是正确的。然而,在我的“真实”应用程序中,我遇到了IE不能正确报告图像宽度和高度的问题,除非我这样做。我删除了这些调用(上面更新了代码),但问题仍然存在。我还将尝试拆分阵列。在这一点上,我愿意尝试任何东西。也没有骰子分割数组…@BJ_u我面临着几乎相似的代码的完全相同的问题。这对妈妈也不起作用。你找到解决这个问题的办法了吗?
// imageArray[index] = image;