检查是否存在一系列图像,在Javascript中找不到时停止

检查是否存在一系列图像,在Javascript中找不到时停止,javascript,image,same-origin-policy,Javascript,Image,Same Origin Policy,我想在我的网站上显示一系列以结构化方式命名的动态加载图像。图像位于不同的域中,这会导致同源策略限制。我不能使用$.ajax 我用一个计数器构建我的url,比如www.example.com/Images/img-1.jpg,www.example.com/Images/img-2.jpg,然后它就变成了 我试过类似帖子中的其他几个答案,但都没能奏效。要么循环永远运行,要么它永远找不到图像,即使它们存在于路径中 第一次尝试: ShowImages: function () { var

我想在我的网站上显示一系列以结构化方式命名的动态加载图像。图像位于不同的域中,这会导致
同源策略
限制。我不能使用
$.ajax

我用一个计数器构建我的url,比如
www.example.com/Images/img-1.jpg
www.example.com/Images/img-2.jpg
,然后它就变成了

我试过类似帖子中的其他几个答案,但都没能奏效。要么循环永远运行,要么它永远找不到图像,即使它们存在于路径中

第一次尝试:

ShowImages: function () {   
    var urlBase = 'http://www.example.com/Images/img-';
    var i = 1;

    while (true) {
        var url = urlBase + i + '.jpg';     

        var imgDom = new Image();
        imgDom.onload = function () {
            alert('worked');
            i++;
        };
        imgDom.onerror = function () {
            return; // I want to either break the while loop, or return from ShowImages function
        };
        imgDom.src = url;
    }
},
ShowImages: function () {   
    var urlBase = 'http://www.example.com/Images/img-';
    var i = 1;

    while (true) {
        var url = urlBase + i + '.jpg';     

        var imgDom = document.createElement("img");
        $(imgDom).attr('src', url);

        if (imgDom.complete) {
            alert('worked');
            i++;
        } else {
            break;
        }
    }
},
它从不点击
.onerror

第二次尝试:

ShowImages: function () {   
    var urlBase = 'http://www.example.com/Images/img-';
    var i = 1;

    while (true) {
        var url = urlBase + i + '.jpg';     

        var imgDom = new Image();
        imgDom.onload = function () {
            alert('worked');
            i++;
        };
        imgDom.onerror = function () {
            return; // I want to either break the while loop, or return from ShowImages function
        };
        imgDom.src = url;
    }
},
ShowImages: function () {   
    var urlBase = 'http://www.example.com/Images/img-';
    var i = 1;

    while (true) {
        var url = urlBase + i + '.jpg';     

        var imgDom = document.createElement("img");
        $(imgDom).attr('src', url);

        if (imgDom.complete) {
            alert('worked');
            i++;
        } else {
            break;
        }
    }
},

它从不点击
.complete

尝试第一个选项(您基本上需要链接它们)


只有在处理了前一个图像后,才需要尝试加载下一个图像。图像加载是异步的,您的代码实际上会向url
发出一系列请求http://www.example.com/Images/img-1.jpg“
。谢谢,我知道了,但找不到方法,用@gurvinder372的方法完成了。