【问题标题】:Chrome keeps loading page from CacheChrome 不断从缓存加载页面
【发布时间】:2019-05-01 01:30:22
【问题描述】:

由于某种原因,chrome 一直从缓存中加载 index.html。在开发人员工具的网络选项卡中,我得到 200 Ok(从磁盘缓存加载)。当我禁用缓存或清除缓存时,它会加载 index.html 的新副本。但是这个问题在其他浏览器(例如边缘)中不会发生。我做错了什么?如何强制 chrome 根本不使用缓存,并且总是像我按 F5 时那样获取新副本?这是我的html。

<head>
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
</head>

【问题讨论】:

  • 我尝试将 content="no-store" 用于缓存控制。没有运气
  • 编写一个http拦截器,在你得到服务调用window.location.reload(true);之前它会删除缓存并重新加载页面。
  • 原因很明显,location.reload(),刷新了页面,另外看看这个帖子有few ways,可能会有帮助!

标签: angular google-chrome


【解决方案1】:

通过ctrl + shift + I 打开开发者工具栏。

转到应用程序 -> 清除存储。点击清除站点数据(勾选所有复选框)。

这是因为service worker

【讨论】:

  • 感谢 Omkar。是的,当我按照您所说的清除缓存时,它可以工作。但是,我需要在应用程序代码中修复它,这样用户就不必执行清除缓存。你能解释一下 service worker 吗?
  • @Praati 在生产环境中启用服务工作者。 ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }) 阅读更多:angular.io/guide/service-worker-getting-started
猜你喜欢
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 2014-11-24
  • 1970-01-01
  • 2019-01-11
  • 2017-09-13
  • 1970-01-01
  • 2011-02-15
相关资源
最近更新 更多