如果不是背景图像,如何检查链接是否有效/跳过

时间:2014-05-23 04:18:18

标签: jquery http-status-code-404 preloading

我有一系列图像链接,其中一些无效。我试图循环并将背景图像设置为这些照片。但是,当我尝试将其中一个设置为无效链接(返回404页面)时,我的代码会中断。任何人都可以建议一种方法来检查链接是否有效或(甚至更好)跳过无效链接?

以下是我检索链接的方式(来自JSON Feed)

url = feed[index]['images']['url'];
imageArray.push[index]

这里是我设置图像src值的地方

imageArray = ['link1', 'link2']
for(var y = 0; y < 1; y++){
    document.body.style.backgroundImage="url('"+imageArray[y]+"')";
} //Here is where my code breaks

我只是看不到放置try/catch语句的位置。感谢

1 个答案:

答案 0 :(得分:0)

function loadImage(){
    var xhr;
    if(window.XMLHttpRequest){
        xhr = new XMLHttpRequest();
    }
    else{
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function(){
        if(xhr.status == 404){
            // 404 Error!
        }
        else if(xhr.readyState == 5 && xhr.status == 200){
            document.body.style.backgroundImage = xhr.responseText;
        }
    }
    xhr.open("GET", "http://test.com/" + id + ".png", true);
    xhr.send();
}

请修改图像设置行...休息它将像魅力一样工作