Disable JavaScript caching in Google Chrome

2019-01-26 13:41发布

问题:

Is it possible to disable JavaScript caching in Google Chrome? I turned off the cache in developer tools (Ctrl-Shift-I), but it still caches JS files... Using Chrome version 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.