如何清除 JavaScript 网站的缓存?
How to erase cache of the website with JavaScript?
我的问题是网站更新了一些文本,但客户端在清除浏览器缓存之前看不到它。
我试过了
window.location.reload(true)
它会导致页面循环重新加载。
我试过了
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='-1'>
<meta http-equiv='pragma' content='no-cache'>
并且对已经提现的文件没有影响。
有什么办法可以清除我确切页面的缓存吗?
谢谢!
无法使用 JavaScript 代码清空浏览器缓存。但即使可能,您的客户也需要首先获得您代码的新版本,以便他们的浏览器对其进行评估,这也是不可能的,因为他们至少在它变得陈旧之前使用缓存版本。
因此,为了将来使用您的网站,您需要配置 Web 服务器以发送与缓存相关的正确 HTTP headers 值,例如 Control-Control
、Expires
和 ETag
或 Last-Modified
响应或使用元标记将它们嵌入 HTML 中。但是您当前的用户将需要手动清除浏览器缓存,或者等到您更改的页面在他们的缓存中变得陈旧。您可以向他们发送有关如何清除浏览器缓存的说明。有一个 RefreshYourCache.com 网站,但有点过时了。
有关与缓存相关的 HTTP headers 的更多信息,请查看此 tutorial。
我的问题是网站更新了一些文本,但客户端在清除浏览器缓存之前看不到它。 我试过了
window.location.reload(true)
它会导致页面循环重新加载。 我试过了
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='-1'>
<meta http-equiv='pragma' content='no-cache'>
并且对已经提现的文件没有影响。 有什么办法可以清除我确切页面的缓存吗? 谢谢!
无法使用 JavaScript 代码清空浏览器缓存。但即使可能,您的客户也需要首先获得您代码的新版本,以便他们的浏览器对其进行评估,这也是不可能的,因为他们至少在它变得陈旧之前使用缓存版本。
因此,为了将来使用您的网站,您需要配置 Web 服务器以发送与缓存相关的正确 HTTP headers 值,例如 Control-Control
、Expires
和 ETag
或 Last-Modified
响应或使用元标记将它们嵌入 HTML 中。但是您当前的用户将需要手动清除浏览器缓存,或者等到您更改的页面在他们的缓存中变得陈旧。您可以向他们发送有关如何清除浏览器缓存的说明。有一个 RefreshYourCache.com 网站,但有点过时了。
有关与缓存相关的 HTTP headers 的更多信息,请查看此 tutorial。