The page fails to load and creates an HTTP error. The error page cannot be trapped easily, if at all.
This means the IT department have to go and rest all the machines across the site, the application is used in three different buildings and could be rolled out to other sites...
Solution?
The solution I came up with was to have a backup refresh mechanism that relied on javascript not the META-refresh mechanism.
I created a frameset of two frames with the top frame 0 pixels high. The second frame is called "Main".
The code in the top frameset was:
<!-- Auto Load DispPanel Form after 5 mins then every 20 minutes-->
<!-- See http://www.notesninjas.com/A555F9/nn.nsf/ByAlias/WebRefresh for latest ver -->
<script>
<!--
setTimeout('refresh()', 5000);
function refresh() {
parent.frames['Main'].location.replace('http://server/db.nsf/FormToRefresh?OpenForm');
setTimeout('refresh()', 1200000);
}
-->
</script>
This was put on a page and was marked as Pass-Thru HTML.
The times are in milliseconds, so 1000 is 1 second, 1200000 is 20 minutes.
The original form was then set to always load in this frameset.
NB: This works and so I have left it, because if it works leave it alone, but...
After reading up on setTimeout and setInterval I would in the future rewrite this using setInterval, because SetTimeout uses recursion and eventually the browser will get a stack overload and then will "panic".
I am not sure how long it would take to get a stack overload, but if it will overload in 3000 (probably a lot more) calls, and I call it every 20mins then that is 1000 hours which is over 40 days, which is more than enough I think.
SetInterval should never get a stack overload, and should be used. I am sure I will rewrite it one day.
See here for more details:
http://www.webmasterworld.com/forum91/189.htm
http://javascript.about.com/library/blstvsi.htm