Question:
If I include a .js file using the src attribute of a script tag and then I need to change the content of the .js file (perhaps to correct a bug), how can I be certain that users will get the corrected version? Is it possible that the browser will continue to use a previously cached version? I don’t want to have to rename a .js file every time I revise it and also change all the script tags to reference the new version.
Answer:
Unfortunately, when it comes to linked .js files, the browser’s caching behavior is largely out of your hands. Although, some Web servers do allow you to configure such things. Both Internet Explorer and Netscape are pretty good about doing the right thing. In some cases, your users would have to close and reopen their browsers to get the most up-to-date file. It is possible, however, for users to set their browser to never check for updated files and always get the cached version.
In Internet Explorer, for example, click on Tools | Options, then Temporary Internet Files | Settings… and select “Never” under “Check for new versions of stored pages.” This isn’t the default (“Automatically” is) but if that’s the user’s setting, then yes, the only way for you to ensure that they get the latest version is to rename your .js file.