是否可以在 Google Chrome 中禁用 JavaScript 缓存?我关闭了开发人员工具中的缓存(Ctrl-Shift-I),但它仍然缓存 JS 文件……使用 Chrome 版本 20。
1 回答
For developing purposes you can use Ctrl+R or Ctrl+F5, they should not send cache headers therefore requesting the resource from server and not cache. This is called Hard Refresh.
But don't expect users to use Ctrl+R/F5, if you want to always send the uncached resource to the user, use Cache buster (Google search for cache buster)
Web browsers use the url to determine if they already know the resource, so accessing the same url will make the web browser to check if he accessed this url before thus allowing it to send a specific header of the resource it have and validate if the resource changed on the server.
Cache busters are as the name says used to bust the cache and always reload the resource. Here is an example for cache busted url:
<script type="text/javascript" src="/static/js/some.js?bust=12356"></script>
Note: it could be any name and not "bust".
A good way to always have a unique bust is using the Unix epoch time (number of seconds passed from 1.1.1970, every language offers you some function to get that number), another commonly used solution is some random number. This way the browser will always get the resource from the web server.