You are here: irt.org | FAQ | JavaScript | Redirect | Q832 [ previous next ]
If you include the time since year dot in miliseconds as part of the locations search property - then when the page is loaded, if the time isn't there, then reload, if the time is there, then check to see how long ago that time was - if its more than say a 10 seconds you can reload it again with another time:
<SCRIPT LANGUAGE="JavaScript"><!-- function y2k(number) { return (number < 1000) ? number + 1900 : number; } var now = new Date(); var nowsecs = Date.UTC(y2k(now.getYear()),now.getMonth(),now.getDate(),now.getHours(),now.getMinutes(),now.getSeconds()); if (location.search) { var thensecs = location.search.substring(1); var difference = nowsecs - thensecs; if ((nowsecs - thensecs) > 10000) { location.href = location.href.substring(0,location.href.length - location.search.length) + '?' + nowsecs } } else { location.href = location.href + '?' + nowsecs; } //--></SCRIPT>
To avoid the double load of the document - then you could alter links to the document to provide the time in the first instance:
<SCRIPT LANGUAGE="JavaScript"><!-- function getTime() { var now = new Date(); return Date.UTC(y2k(now.getYear()),now.getMonth(),now.getDate(),now.getHours(),now.getMinutes(),now.getSeconds()); } //--></SCRIPT> <A HREF="mydocument.htm" onClick="this.href = 'mydocument.htm?' + getTime()">text link</A>