|
home / issues / issue #16
| Issue: | Menus don't load when returning to
frameset page |
| Browser: | Opera 7/8 |
| Platform: | Windows |
| Description: | When returning to a frameset page
(via the browser's back/forward buttons) that contained menus the menus may refuse to
rebuild or pages may refuse to display. In addition, a JavaScript Error to the effect of "HM_LoadElement (or Hbt) is
null or undefined" may be generated in the JavaScript error console. |
| Cause: | The problem is memory cache related.
With memory caching turned on (the default for Opera), the error all but disappears;
but will still occasionally strike, presumably when the memory cache has been filled
and a historical page needs to be reloaded as a result. With memory caching off, the
error occurs every time you return (using the browser's back and forward buttons) to
an HM frameset page from a non-frameset page. In both cases, the exact cause of the
error is that the parent.document.body parameter of the scripts is reported
as undefined, and cannot therefore be hooked to properly initialize the
menus. |
| Comments: | In HierMenus 6 we avoid
the error generating by not requiring access to the parent's body element. However,
we do, still occasionally see problems where the menus will not properly rebuild when
returning to a historical page entry within a frameset (but no errors are generated).
Since the document structure appears to be somewhat corrupt (in some cases we are
even unable to access the window object without generating an error) it
would be unwise for us to attempt further document manipulation and HierMenus shuts
down (at least until such time as the frameset is completely reloaded). Therefore,
we know of no graceful work around for this problem.
The problem does not seem to appear in later Opera versions.
Any additional information on this issue would be greatly appreciated. If you have
any further information on this topic please feel free to share it:
Opera Parent
|
| Posted: | March 11, 2004 |
|