Tengo una aplicación de presentación de diapositivas que admite solo muchos enlaces internos.
HTML
<iframe width="100%" id="iframeSlide" height="100%" #iframe frameBorder="0" [src]="urlSafe"></iframe>código TS
current.urlSafe = current.sanitizer.bypassSecurityTrustResourceUrl(current.slideUrls[current.index]); slideUrls es una matriz que contiene una lista de enlaces internos, pero cuando la nueva URL se estableció en current.urlSafe , la URL anterior no llamó a la función ngOnDestroy para liberar el recurso.
Traté de configurar current.urlSafe = "about:blank";
o
var frame = document.getElementById("iframeSlide"), frameDoc = frame.contentDocument || frame.contentWindow.document; frameDoc.removeChild(frameDoc.documentElement); Pero no llamó a la función ngOnDestroy . En la página interna, utilicé la función setInterval, por lo que necesito ir a ngOnDestroy para borrar el Interval , sin muchas solicitudes para llamar dentro de setInterval .
Enlaces que arbitré
Cambiar el iframe src sería el equivalente a navegar a una nueva URL en la barra de direcciones del navegador. El navegador en sí borra los recursos JS/HTML de nivel superior en este caso
ngOnDestroy ocurriría si elimina componentes o servicios dentro de la aplicación, pero no en una actualización