Подтвердить что ты не робот

См., существует ли src of img

когда я помещаю тэг img, я динамически создаю атрибут src. Есть ли способ тестирования, если src (путь, где находится изображение) фактически существует с javascript, чтобы избежать получения:

enter image description here

4b9b3361

Ответ 1

Вы можете использовать событие error:

var im = document.getElementById('imageID'); // or select based on classes
im.onerror = function(){
  // image not found or change src like this as default image:

   im.src = 'new path';
};

Встроенная версия:

<img src="whatever" onError="this.src = 'new default path'" />

или

<img src="whatever" onError="doSomething();" />

Тег

<img> поддерживает эти события:

  • abort (onAbort)
  • error (onError)
  • load (onLoad)

Дополнительная информация:

Ответ 2

вы можете сделать предыдущий вызов ajax (с помощью метода head) и посмотреть код возврата сервера или вы можете использовать событие onerror для изменения URL-адреса или его скрытия, например.

<img src="notexist.jpg" onerror="this.style.visibility = 'hidden'">

(Я использовал встроенный атрибут, чтобы объяснить идею)

Ответ 3

Если вы создаете src динамически с помощью javascript, вы можете использовать это:

var obj = new Image();
    obj.src = "http://www.javatpoint.com/images/javascript/javascript_logo.png";

if (obj.complete) {
    alert('worked');
} else {
    alert('doesnt work');
}

Ответ 4

Вы приближаетесь к этому неправильно. Когда вы создаете свои ссылки со стороны сервера script, проверьте, существует ли файл или нет (например, с помощью file_exists() в PHP).

Вы не должны полагаться на JavaScript, когда можете сделать это на стороне сервера, так как JavaScript может быть изменен и отключен.

Спросите себя, как вы генерируете атрибуты src= и проверяете, существует ли файл или нет, и укажите альтернативу.