HTML атрибут событий onerror

Значение и применение

Атрибут событий onerror позволяет задать срабатывание скрипта при возникновении ошибки во время загрузки внешнего файла.

Поддержка браузерами

Спецификации: uievents, multipage

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьapi.HTMLElement.error_event
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
error event✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

Синтаксис

HTML
<element onerror = "script" >

Ошибка загрузки ресурса не всплывает. Для нескольких ресурсов можно слушать error в фазе захвата. window.onerror — отдельный случай ошибок JavaScript: ему передают сообщение, адрес, строку, столбец и объект ошибки. addEventListener("error", …) получает объект события. Необработанные отклонения промисов относятся к unhandledrejection.

Примеры, попробуйте сами

Резервное изображение при ошибке загрузки

Нажмите ▶. Наблюдайте замену недоступного изображения запасным.

index.html
HTML
<img src="assets/manul.jpg" />
main.js
JavaScript
// Сохраняем адрес локального резервного изображения.
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> относится к ошибкам окна.