角度(Angular):使用innerHTML并禁用缓存后,点击后图像会重新加载

时间:2019-09-25 14:02:58

标签: angular google-chrome browser-cache innerhtml

我在这里设置了一个非常简单的示例: 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开发)上发生,但在Firefox上不会发生。

如果您的机器上没有视频,请观看:https://drive.google.com/file/d/1f0v3jBy8Bvuv_5JVV1HHvQHipAo2_Ok3/view

编辑 另外需要注意的是,当内置有youtube视频的iframe在Chrome和FireFox上具有或不具有缓存功能时,此行为都会持续存在。“网络”标签显示每次点击事件时youtube视频已重新加载。

您知道这种行为的解释吗?

0 个答案:

没有答案