Murat Karagozgil
Murat Karagozgil

Reputation: 198

When Chrome clears disk cache?

I have one website which serves listener.js on the main page. I want to update this javascript file with some extra codes. But browsers (especially chrome) has memory and disk cache. Also HTTP cache of course. I tried something about that state. I tried just F5, the file loaded from memory cache. Then I killed chrome and opened the website again, javascript file loaded from the disk cache. So I have 2 questions;

  1. When chrome clears disk cache?
  2. How can I say to my visitors don't use any cache and get the new javascript file from my server?

Update:

  1. Can I do this with no-cache Http header?

Upvotes: 3

Views: 16190

Answers (3)

JavaScript Bee
JavaScript Bee

Reputation: 3

This solution worked for me.

let randomNum = Math.round(Math.random() * 10000);
src = "js/listener.js?" + randomNum;

Every time a random number will be generated and it'll be treated as a new request and won't be cached.

Upvotes: 0

R D
R D

Reputation: 133

Removing temporarily cached file known as cache busting. It is useful because browser doesn't have to download these files again.

If it is causing issues, developers can force browsers to download new files. This is performed by re-naming file but there is a better way

src="js/listener.js" => src="js/listener.js?v=2"

Update:

Or hash like this => ?v=c298c7f8233d which is better than ?v=2 (comment by Tech Guy)

(Credits: 30-seconds)

Upvotes: 2

hashedram
hashedram

Reputation: 934

Chrome doesn't auto clear disk cache unless this option is checked

Privacy settings > Content settings > Keep local data only until you quit browser

In which case, it deletes cache on closing the browser.

You usually prevent a client from saving your files in cache by hashing your filenames in each build, which is the most common cache-busting technique. That means in every release, you will have a new file name and the old cached file won't matter. For instance

Most build tools like Webpack have cache-busting features that you can turn on.

You don't want to stop the user from caching at all, because caching is immensely useful and prevents repeated downloads. You just want to prevent downloads when you build a new release.

Upvotes: 1

Related Questions