Листовка обрабатывает плитку загрузки / ошибки на этот параметр c бит кода :
var tile = document.createElement('img');
DomEvent.on(tile, 'load', Util.bind(this._tileOnLoad, this, done, tile));
DomEvent.on(tile, 'error', Util.bind(this._tileOnError, this, done, tile));
Пока HTMLImageElement
Экземпляр запускает событие error
, листовка запускает резервное поведение и пытается загрузить errorTileUrl
в неисправный тайл.
Leaflet делает не не обращайте внимания на то, почему произошел сбой плитки, если веб-браузер сообщил о ее сбое. Согласно https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement#Errors это может происходить во многих ситуациях, включая:
- A
40x
или 50x
HTTP-код ошибки - A timeout
- Неправильный или неизвестный формат изображения (например,
.webp
в неподдерживаемых браузерах ) - Попытка загрузить что-то, кроме изображения. Это происходит в сервисах WMS, где сервер WMS возвращает ошибку, инкапсулированную в каком-то документе XML.
- ... и более
Если вы разрабатываете сервер листов, и не хотите отправлять 404 HTTP-кода состояния в браузер , даже если это семантически правильное действие , вы можете просто вернуть все, что не является изображением.
В частности, второй наиболее семантически приемлемой вещью для IMO был бы 204 No Content
код состояния HTTP вместе с Content-Length
заголовком HTTP, имеющим значение 0
.
Кстати, имейте в виду, что все сетевые запросы регистрируются в веб-браузерах, и наличие 404-х не наносит ущерба производительности или доступности.