【发布时间】:2021-12-12 10:22:44
【问题描述】:
我有一个幻灯片应用程序,它只支持许多内部链接。
HTML
<iframe width="100%" id="iframeSlide" height="100%" #iframe frameBorder="0" [src]="urlSafe"></iframe>
TS 代码
current.urlSafe = current.sanitizer.bypassSecurityTrustResourceUrl(current.slideUrls[current.index]);
slideUrls是一个包含内部链接列表的数组,但是当新url设置为current.urlSafe时,旧url没有调用ngOnDestroy函数释放资源。
我尝试设置current.urlSafe = "about:blank";
或
var frame = document.getElementById("iframeSlide"),
frameDoc = frame.contentDocument || frame.contentWindow.document;
frameDoc.removeChild(frameDoc.documentElement);
但它没有调用ngOnDestroy 函数。
在内部页面中,我使用了setInterval函数,所以需要去ngOnDestroy清除Interval,而不需要在setInterval内部调用很多请求。
我引用的链接
【问题讨论】:
标签: javascript angular iframe memory-leaks setinterval