Как я могу заменить / скрыть внешние разбитые изображения заполнителей? - PullRequest
0 голосов
/ 24 марта 2020

Я ссылаюсь на путь к изображению здесь: https://www.bing.com/th?id=OIF.l%2feCP%2bKcApHOOgVVLBOgPw&w=299&h=195&c=7&o=5&pid=1.7

Но когда вы его видите, он заменяется заполнителем. Можно ли обнаружить что-то подобное и заменить / удалить / скрыть, когда путь к изображению, подобный этому, показывает сломанное изображение / заполнитель?

Я попробовал несколько вещей (например, приведенный ниже пример с stackoverflow), но безуспешно. Следующее работает только для мертвых изображений, а не для таких вещей, как заполнители.

  window.addEventListener('error', windowErrorCb, {
    capture: true
  }, true)

  function windowErrorCb(event) {
    let target = event.target
    let isImg = target.tagName.toLowerCase() === 'img'
    if (isImg) {
      imgErrorCb()
      return
    }

    function imgErrorCb() {
      let isImgErrorHandled = target.hasAttribute('data-src-error')
      if (!isImgErrorHandled) {
        target.setAttribute('data-src-error', 'handled')
        target.src = 'https://via.placeholder.com/150'
      } else {
        //anything you want to do
        console.log(target.alt, 'both origin and backup image fail to load!');
      }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...