D
Dirk Gently
I have seen a few posts with respect to this error message, but none
are quite the same situation as mine. My requirements for this web
application are fairly stringent in that the client browsers are
running on public (read: tightly controlled) machines with touch
screens in widely distributed locations. The end users can't have
access to the browser menus or buttons, so any error-type conditions
need to be self-correcting.
I have a simple HTML page which contains a frameset. The frameset has
only one single frame, which contains all of the visible content of my
webapp. The first time it loads, the top page opens a new window via
window.open() with the URL of a separate page on the server. The popup
page is mainly a scripting window which performs the following
actions:
1) tests the server availability by downloading/reloading a one pixel
image (this works great).
2) tests the main window for a JavaScript Date variable which is set
whenever the content frame is reloaded. There are two reasons for this
test - one is simply the availability of the variable, the other is
the value of the timestamp.
The desired behavior is to recover from server downtime, or 404/500
server errors with no navigation by the users. The top page writes a
"retry later" type message into the content frame by setting the
frame's location to a 'javascript:...' pseudo-URL which writes the
personalized error message. To satisfy this I have the popup testing
on an interval (currently 30 seconds). Everything works swimmingly
except for one test case. If the server goes down, and the user
attempts to navigate before the retry message is written, the content
frame reverts to "Page cannot be displayed" IE error page. Once this
occurs, I no longer have access to the child frame to write the
friendly error message. I get the "Can't execute code from a freed
script" JavaScript error.
I attempted to preempt the IE error page by playing tricks with the
frame's document.onUnload event, but that made matters worse so that
many of the other cases no longer functioned. Does anyone else have
experience with this type of scenario?
Thanks,
Chris
are quite the same situation as mine. My requirements for this web
application are fairly stringent in that the client browsers are
running on public (read: tightly controlled) machines with touch
screens in widely distributed locations. The end users can't have
access to the browser menus or buttons, so any error-type conditions
need to be self-correcting.
I have a simple HTML page which contains a frameset. The frameset has
only one single frame, which contains all of the visible content of my
webapp. The first time it loads, the top page opens a new window via
window.open() with the URL of a separate page on the server. The popup
page is mainly a scripting window which performs the following
actions:
1) tests the server availability by downloading/reloading a one pixel
image (this works great).
2) tests the main window for a JavaScript Date variable which is set
whenever the content frame is reloaded. There are two reasons for this
test - one is simply the availability of the variable, the other is
the value of the timestamp.
The desired behavior is to recover from server downtime, or 404/500
server errors with no navigation by the users. The top page writes a
"retry later" type message into the content frame by setting the
frame's location to a 'javascript:...' pseudo-URL which writes the
personalized error message. To satisfy this I have the popup testing
on an interval (currently 30 seconds). Everything works swimmingly
except for one test case. If the server goes down, and the user
attempts to navigate before the retry message is written, the content
frame reverts to "Page cannot be displayed" IE error page. Once this
occurs, I no longer have access to the child frame to write the
friendly error message. I get the "Can't execute code from a freed
script" JavaScript error.
I attempted to preempt the IE error page by playing tricks with the
frame's document.onUnload event, but that made matters worse so that
many of the other cases no longer functioned. Does anyone else have
experience with this type of scenario?
Thanks,
Chris