Angular: изображение перезагружается при нажатии, когда используется innerHTML и кэширование отключено - PullRequest
1 голос
/ 25 сентября 2019

Я настроил очень простой пример здесь: https://stackblitz.com/edit/angular-6rcn6c

 clickMe(){
    console.log('what is going on');
  }

  getImage(){
    const _image = '<img src="https://icon-library.net/images/happy-icon/happy-icon-27.jpg">';
    return this.sanitizer.bypassSecurityTrustHtml(_image);

  }

И

<button (click)="clickMe()">Click me</button>
<div [innerHTML]="getImage()"></div>

Когда у меня есть связанный с innerHTML элемент с изображением, а затем естьдругая кнопка в другом месте, если кэширование отключено (просто открыв вкладку «Сеть» в инструментах разработчика) при нажатии на кнопку, div выглядит так, как будто он снова привязан, и на вкладке сети отображается загруженное изображение.Это происходит в Chrome (и Edge dev), но не в Firefox.

Видео на случай, если это не происходит на вашем компьютере: https://drive.google.com/file/d/1f0v3jBy8Bvuv_5JVV1HHvQHipAo2_Ok3/view

РЕДАКТИРОВАТЬ Одиндополнительное замечание заключается в том, что такое поведение сохраняется, если в iframe с видео YouTube на Chrome и FireFox с кэшированием или без него вкладка сети показывает, что видео YouTube загружается при каждом событии клика.

знаете объяснение этого поведения?

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