For the twelve days of Christmas I'm running this simple family website. As part of it, everyday I edit a text file that will give different answers/content each day. Well I'm having a problem where I have to tell everyone to delete there cache to get the new info. I've never had this before. I just barely added these two statements.
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
and
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
found How to control web page caching, across all browsers?
I tested that everything still loads fine but I do not want to test it by changing the actual content until tomorrow. My question is, is there any way to make sure that the browser does not cache the text files that I am pulling in using using this javascript code
function readInFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function()
{
if (rawFile.readyState === 4)
{
if (rawFile.status === 200 || rawFile.status == 0)
{
parseFile(rawFile.responseText, document.getElementById("answerText").value)
}
}
};
rawFile.send(null);
}
I don't want the browsers to stop caching the html/js but continue caching the text files. Will what I have now prevent the browsers from doing such? I've never had a problem like this before> I also used the HTML5 Boilerplate this time around just to try it out if that makes any difference. I ended up removing alot of it though.
Cache-busting
Add a random parameter to the end of the url, like the current timestamp. Make it look like:
http://yourdomain.com/path/to/file.txt?t=1873261823
You can use new Date().getTime()
or the more recent Date.now()
or roll your own random number generator for the value of the parameter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With