【发布时间】:2013-12-13 16:40:25
【问题描述】:
例如,当我进入我的 Gmail 帐户时,我每隔一段时间就会看到更改,并且这些更改在不使用 ctrl+f5 更新(没有缓存数据)的情况下是有效的,而我的网络应用程序会发生相反的情况,用户必须按下ctrl+f5 查看变化。
如何在无需清除缓存或更新的情况下实现与其他网络应用程序相同的更改。
这个问题不在于数据,而在于 html 内容。我根据 AngularJS 路由使用 requireJS 加载每个部分(js、css 和 html),例如,如果我调用 index.php#/users/edit 我加载 users/edit.html 等等,所以当我进行更改或添加一个 HTML/CSS/JS 文件即使按 f5 更改也不可见,用户需要删除缓存或按 ctrl+f5
【问题讨论】:
-
您是在询问资源、HTTP 缓存标头或 AJAX / WebSockets 的缓存破坏 URL 吗?
-
我刚刚在解释中添加了对您问题的回复。
-
有点混乱。你想要
push/self update service之类的东西(即Gmail、Facebook 等)吗? -
然后您询问的是 HTTP 缓存标头或缓存破坏器 URL。见维基百科
-
@SLaks 让我了解 HTTP 缓存标头,问题是我仅使用 index.html 作为主布局 (SPA),而布局的其他部分正在作为外部文件加载( html/css/js) 所以我认为我应该在 index.html 中设置这个标题?这是通过元标记实现的吗?
标签: javascript google-chrome caching browser-cache