Как проверить, если ссылка действительна / пропустить, если не для фонового изображения

0

У меня есть массив ссылок на изображения, некоторые из которых недопустимы. Я пытаюсь выполнить петлю и установить фоновое изображение на эти фотографии. Однако, когда я пытаюсь установить его на неверные ссылки (которые возвращают страницу 404), мой код прерывается. Может ли кто-нибудь предложить способ проверить, действительно ли ссылка действительна или (еще лучше) пропустить недопустимую ссылку?

Вот как я извлекаю ссылки (из канала JSON)

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. благодаря

Теги:
http-status-code-404
preloading

1 ответ

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();
}

Пожалуйста, измените линию настройки изображения... Отдых будет работать как шарм

  • 0
    Я действительно заинтересован в использовании этого для загрузки изображений в мой кеш, эти URL-адреса уже были запрошены через $ .ajax. Я не понимаю, где реализовать эту функцию
  • 0
    он автоматически использует кеш, если изображение кэшируется браузером.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню