Are you sick of your browser caching loaded variables? are you sick of
loaded movies being cached? Then heres how to stop the browser from
caching your data...
The browsers cache comes in handy for slow
connections, all the requests you make to a webserver are stored in a
local folder on your computer, so that the next time you make the same
request, the file can be loaded from the local hardrive as opposed to
having to download the data over the internet again.
However this can cause problems when you are building web based
applications, you need to be sure, as the developer, that the latest
content is being viewed.
To achieve this in your Macromedia Flash Movies is relativley straight
forward, all you need to know is the way the browser cache works.
The browser cache, stores the 'full' url, along with the data
associated with that url as a local file when a request is made to a
webserver and the data is completley downloaded.
If that same request is made again, to the webserver, then your browser
uses the local version stored previously, unless you have changed the
default browser settings.
So for example, if i was to do a load variables call to a specific url,
the data for that load variables call is cached when it has been fully
downloaded, the next time i do the same load variables call, the
browser returns the data it stored previously.
To stop this from occurring, all you need to do, is make sure that the
url you are making a request to, is unqiue, each and everytime. To make
the url unique each and everytime without moving the data around, or
changing any filenames, you simply have to 'append' a unique value to
the url of the request as a name/value pair.
So for example, to stop the following load variables call from caching
in the users browser:
this.loadVariables("http://www.flashguru.co.uk/myscript.php");
We simply append a 'unique' value to the url:
unique=new Date().getTime() //will always be unique
this.loadVariables("http://www.flashguru.co.uk/myscript.php?unique="+unique);
The
above request will be stored in the users cache but the same request
will 'never' be made again, therefore the data the browser has stored
in the cache will never be displayed/retrieved.
The same process is used to stop loaded movies caching.
