Я создавал приложение angular, которое загружает экран предварительного просмотра, содержащий вторую веб-страницу, встроенную в iframe. Когда в приложение вносятся изменения, у меня есть требование, чтобы iFrame обновлялся для отображения изменений. В любом браузере, кроме Internet Explorer, iFrame перезагрузится без кэширования содержимого. В IE11 iframe загружает источник из кеша. Я пробовал два метода обновления iframe (из компонента, содержащего iFrame):
Шаблон HTML:
<div>
<iframe *ngIf = "iFrameUrl" id = "preview-Iframe" [src] = "iFrameUrl" #iframe></iframe>
</div>
Первая попытка:
this.iframe.nativeElement.location.reload(true); //iframe being a ViewChild ElementRef
Вторая попытка:
this.iframeSrcUrl = this.iframeSrcUrl; //iframe source changed to same url
Также пробовал:
this.iframeSrcUrl = this.iframeSrcUrl + '&uid=' + Guid.newGuid();
Ни один из них, похоже, не работает. Это возможно? Есть ли способ заставить iFrame игнорировать кеш?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Один довольно уродливый трюк, который я использовал раньше, чтобы заставить кеши браузера принудительно перезагружать, - это включить в мой запрос фиктивный параметр URL следующим образом:
this.iframeSrcUrl = this.iframeSrcUrl + "?dummyParam=<incremental_variable>";
Если вы меняете incremental_variable каждый раз, когда хотите перезагрузить iFrame, кеш будет думать, что что-то изменилось, поэтому он принудительно перезагрузит.