HTML атрибут событий onerror
Значение и применение
Атрибут событий onerror позволяет задать срабатывание скрипта при возникновении ошибки во время загрузки
внешнего файла.
Поддержка браузерами
Спецификации: uievents, multipage
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| error event | 1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
Синтаксис
<element onerror = "script" >
Ошибка загрузки ресурса не всплывает. Для нескольких ресурсов можно слушать error в фазе захвата.
window.onerror — отдельный случай ошибок JavaScript: ему передают сообщение, адрес, строку, столбец и
объект ошибки. addEventListener("error", …) получает объект события. Необработанные отклонения промисов
относятся к unhandledrejection.
Примеры, попробуйте сами
Резервное изображение при ошибке загрузки
Нажмите . Наблюдайте замену недоступного изображения запасным.
index.html
<img src="assets/manul.jpg" />
main.js
// Сохраняем адрес локального резервного изображения.
const image = document.querySelector('img')
const fallbackSource = image.getAttribute('src')
image.removeAttribute('src')
function testFunction(source) {
source.onerror = null
source.src = fallbackSource
}
image.onerror = function () {
testFunction(this)
}
// Повреждённые данные вызывают настоящее событие error без сетевого запроса.
image.src = 'data:image/png;base64,AA=='
Нажмите , чтобы запустить пример.
Отличия HTML 4.01 от HTML 5
Нет.
Где возникает событие
Ошибки ресурсов обрабатывают на загружающем элементе, например <img>,
<script> или <link>. Обработчик на <body> относится к ошибкам
окна.