Как извлечь глобальный обработчик ошибки в теги <img>в реагировать, чтобы захватывать неработающие ссылки? - PullRequest
0 голосов
/ 19 марта 2019

Спасибо за ваше время.

Я бы хотел автоматически обнаруживать неработающие ссылки на изображения в реакции и отправлять отчеты об ошибках через часового.

Вот некоторые решения, о которых я подумал:но ни один из них не идеален для меня.

1 Вручную добавьте обработчик onerror к каждому <img> тегу

Это работает, но слишком сложно и, возможно, будет забыто в будущем.

2 Добавить обработчик onerror ко всем тегам <img> один раз

Используя jQuery или document.getElementsByTagName ("img"), чтобы найти все теги img, и извлечь обработчик onerror для них.

Звучит просто, но может не сработать?Потому что, если запустить этот код в index.html, тэги реагирования могут еще не отображаться;если запустить этот код в componentDidMount / componentDidUpdate ,, то теги <img> уже загружены.

3 Обработчик автоматического извлечения onerror для тегов <img> в веб-пакете

Это может быть лучшим решением,просто замените строку, используйте <img onerror="xxx"> вместо <img>, но совпадение с регулярным выражением слишком сложное, я не могу заменить код вроде console.log('<img>').

Существует ли плагин webpack, способный выполнить эту работу?Или плагин webpack уже проанализировал jsx-источник для тегов, тогда я могу просто извлечь атрибуты onerror для всех тегов <img>?Или есть лучшее решение?

Еще раз спасибо!

PS:

Есть реактивные компоненты, которые могут выполнить эту работу, как ответ @ varun.Но это кажется слишком большой вещью, чтобы заменить все теги <img>, чтобы просто найти неработающие ссылки, я бы хотел найти лучшее решение.

Спасибо все равно, @ varun

1 Ответ

0 голосов
/ 19 марта 2019

Если вы используете реагировать, вы можете также создать компонент ErrorImage, который определяет image в своей функции рендеринга и обрабатывает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...