【问题标题】:iframe content reloads when there is a DOM manipulation Angular当有 DOM 操作 Angular 时,iframe 内容会重新加载
【发布时间】:2017-11-14 12:36:53
【问题描述】:

我有一个在满足特定条件时动态加载的 iframe。

      <div *ngIf="iframeData">
        <iframe [src]="sanitizer.bypassSecurityTrustResourceUrl(iframeData.iFrameUrl)" name="paymetricIFrame"></iframe>
      </div>

我遇到的问题是,每当页面中的任何内容(框架之外)发生更改(输入文本、选择值等)时,iFrame 内容都会重新加载,并且我可以看到包含的所有脚本都在网络选项卡中重新加载,因此用户在 iframe 中填写的内容就会消失。

我怀疑 ChangeDetectionStrategy,因为从屏幕截图中可以看出,加载 iframe 文件的调用发起方的堆栈跟踪返回到 viewRef._detectChanges

我尝试添加ChangeDetectionStrategy.OnPush,但这会在页面上产生其他问题。

【问题讨论】:

    标签: angular iframe angular2-changedetection


    【解决方案1】:

    我通过创建一个仅包含 iframe 的新组件解决了这个问题。我仍然想知道为什么这解决了这个问题......

    【讨论】:

    • @fishbone 感谢您引用该链接!很高兴看到这个解决方案也对您有用!
    猜你喜欢
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 2011-10-14
    • 2021-03-29
    • 2010-11-13
    • 1970-01-01
    • 2019-12-19
    相关资源
    最近更新 更多