javascript - 如何以编程方式清除 Angular 6 应用程序上的缓存?

标签 javascript angular

只是想知道 - Angular 是否有办法保证在用户访问网站时清除缓存?

我有一个 Angular 应用程序,我偶尔会推送更改,但不幸的是,用户无法看到这些更新,除非他们以隐身方式打开它。我该如何解决这个问题?

最佳答案

为了控制可能不时更改的特定文件,您可以在url中添加一个假版本参数,并更改该参数的值。

例如:<script src="http://wwww.xxxx.com/js/my-site-script.js?version=1"></script>

当参数的值改变时,该资源的缓存将被破坏。

对于测试,我发现有用的是检查器(chrome/firefox 至少有它),在网络选项卡中,有一个禁用缓存的复选框。当它被选中并且该选项卡打开时,您可以加载您的页面并且它不会被缓存。当然,这是为您开发时准备的,而不是为网站用户准备的。

对于不缓存文件的通用方法,请查看此问题以了解如何在 Web 浏览器中禁用缓存:How to control web page caching, across all browsers?

关于javascript - 如何以编程方式清除 Angular 6 应用程序上的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52191939/

相关文章:

javascript - 在 Angular 2 + TypeScript 中深度复制数组

angular - 在 Angular 2 中的数字范围上使用 ngSwitch

angular - 使用 ngModel 的属性指令来更改字段值

javascript - 找出字符串中所有长度最大的单词

javascript - 在 CSS 中指定后备字体大小?

angular - 去除@HostListener 事件

angular - 在 Angular 子组件中获取 Route 参数

javascript - 确认 Javascript 中的字符串中只包含数字

javascript - typescript 错误 - 属性 'headers' 的类型不兼容

javascript - 使用innerHTML将<select>按钮插入HTML表