Skip to main content
Community Expert
January 13, 2015
Question

Multiscreen HTML5 ToC being cached on the webserver?

  • January 13, 2015
  • 1 reply
  • 294 views


Hi all,

Has anyone had issues with the ToC displaying the old ToC structure after updating the Multiscreen HTML5 output on the webserver?

We originally had an issue with the whole project not updating (ie, we updated the output files on the webserver, but viewing the website showed the old version.) We had to clear the IE cache to view the new content each time. On advice, we've added meta tags to the project which prevent caching, but this only seems to affect the html files. Because the ToC is built from javascript, this is not affected and so is showing out-dated content and "file not found" errors if we've moved or deleted something.

The advice we've been given for this javascript issue is to manually add a new, unique query string to each js reference after each compile.

I've never come across this problem with help before.

Any help appreciated.

This topic has been closed for replies.

1 reply

Willam van Weelden
Inspiring
January 15, 2015

Browsers always cache at least some data for web pages. That's the problem.

It may be easiest to have your admin have the server send a header to instruct the browser to only keep the cache for several hours. That way you won't have to do anything.

You can append a unique string to all script files, but that means having to search and replace all references in your output. It would end up looking something like: <script src="whxdata/topictable.js?20150101

Kind regards

Willam

AmebrCommunity ExpertAuthor
Community Expert
January 15, 2015


I've done some more poking around, and it seems only js files that start with gXMLBuffer, like the toc.js file, are being retrieved from the cache. htm files and regular js files all have a status code of, generally, 304 Not Modified or 200 OK, while toc.js, projectdata.js, idx.js, etc have 200 OK (from cache) and a little warning about provisional request headers be displayed. (this is poking around with Chrome dev tools).