Please Note:
HierMenus is protected by copyright laws. Use of the HierMenus code requires a paid licensing agreement.
Click Here to Register

Site Navigation
Bulletins
About
Documentation
FAQ
Samples
Known Issues
Technology Jobs

internet.commerce

Partner With Us














          
internet.com

IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

 
HierMenusCentral Enhance the Functionality of Your Web Site with DHTML HierMenus.
    

home / bulletins / 15

current page
 

HierMenus 6.0.1: Release Notes

D.M Ragle, June 17, 2004

A few bugs are squashed in this purely maintenance release version of HierMenus, including a nasty mouse wheel related regression bug from the HM 5 code base, and a minor fix for incorrect menu placements when using HM_default_x_position and/or HM_default_y_position on permanently displayed menus. Also: Konqueror 3.2 support is reinstated in HierMenus 6.0.1. Because the mouse wheel bug in particular could strike Internet Explorer 6 users in any ScrollEnabled HierMenus implementation, version 6.0.1 is a recommended upgrade for all current HierMenus 6.0 users.

As a reminder, though our release articles can be appreciated by and may be useful to all DHTML developers and HierMenus fans, the HierMenus script itself is a licensed product and its use on your site(s) requires a paid license agreement. Contact Barry Pullen or call him at (203) 662-2868 for further information (be sure to let him know how you plan to use HierMenus and tell him a bit about your organization, as well).

Mouse Wheel Errors in Internet Explorer

When rolling over a menu in Internet Explorer 6 and attempting to use the mouse wheel (assuming you have a mouse with a mouse wheel), HierMenus 6.0 will greet you with this rather annoying error message:

Error: 'this.eMenu.MoveTimer' is null or not an object

(In the space optimized code set, the offending property is this.mh.sp.)

Regrettably, this was the result of a silly regression bug on our part, where a portion of the HM 5 code was not properly ported for use in the HM6 architecture. We've corrected the problem by replacing the entire mouse wheel handler for IE. On a historical note, Internet Explorer mouse wheel support was first introduced in HierMenus way back in version 4.2.2.

Welcome (Back) Konqueror

Our initial release of HierMenus version 6 disabled support for the Konqueror Web browser entirely. At that time, our Konqueror testing was limited only to Konqueror 3.1.x versions; and multiple incompatiblities were encountered between Konqueror and the HM6 code base. We've since been able to test HM6 in Konqueror 3.2.x versions, and are pleased to report that the results were more than satisfactory. Nearly all the problems we had encountered with the Konqueror 3.1.x/HierMenus 6.0 combination were not present in Konqueror 3.2; therefore we are reinstating support for Konqueror 3.2 and later in HierMenus 6.0.1.

There are, however, some minor HierMenus problems that remain when using Konqueror, including:

  • Browser scrollbars sometimes appear on menu creation
    When menus are initially created, Konqueror will occasionally alter or display page scrollbars where they are unnecessary (as if Konqueror believes some component to now be visible in a currently non-visible portion of the page). As all HierMenus are created off screen (upwards and to the left of the current browser window), we don't know why this behavior occurs. Other than being visually distracting, the behavior does not seem to adversely effect the page or menus.

  • Standard Cross-Frames Not Supported
    Konqueror does not refire page loads when historical pages are loaded in frames. This causes problems in HierMenus similar to those that we've previously encountered in Opera. Unlike Opera, however, we were unable to create workarounds that effectively counter this behavior. Therefore, we have disabled the Standard Cross Frames support for Konqueror entirely. Note that the Alternate Cross Frames implementation methodology, introduced with HierMenus version 6, works fine with Konqueror.

Making Sure Zero Really Is Zero

In HM6, the HM_default_x_position and HM_default_y_position parameters were introduced to help Webmasters fine-tune the positioning of their menus (see the Menu Positioning Mini-Tutorial for further details). While unnecessary, these parameters could also be used in permanently displayed menus. In such instances, they would always assume a value of zero (which is why, strictly speaking, they were unnecessary; since you could remove them from your JavaScript expressions completely and achieve the same result). Nonetheless, one situation was brought to our attention when the variables are not set to zero for permanently displayed menus: specifically, when you resize the document. Doing so with a permanently displayed menu that utilized one of the above parameters in a menu positioning JavaScript expression would generate an error in Internet Explorer, as the uninitialized value would generate an unusable NaN when used in a calculation.

As mentioned above, the easiest fix was to simply remove the HM_default_x_position and HM_default_y_position parameters from permanently displayed menu positioning schemes entirely; but for consistency we've also corrected the problem in HM as well, ensuring that the key values utilized in the positioning of permanently displayed menus are properly initialized so as not to cause an error when used. Now our zeroes should be zeroes in all cases.

Don't Load Empty Configuration Files

When utilizing HM with a database, it is common to blank the default configuration file that is fed to HM_Loader.js; as the developer instead opts to build the configuration file dynamically within the page via server-side tools (see Using HM With A Database for further details). When specifying a blank configuration file, however:

HM_ConfigDir="";
HM_ConfigFiles="";

HM_Loader.js would still attempt to load the "empty" file into the Web page. In Internet Explorer, this attempt is silently ignored; but in Gecko browsers the result was a seemingly impossible to track error message with no file or line number designated. In HierMenus 6.0.1 we avoid this error by checking that the configuration file designation is valid before attempting to use it.

Incorrect Menu Height With Large More Images

If a menu was defined with a more image that was higher than the natural height of a menu item, and that more image appeared in the final menu item of vertical menus, then the menu height itself would be improperly set to include the full height of the more image in the last menu item in Internet Explorer (as opposed to our intended behavior, which was to clip the more image by the natural height of the menu item). We believe we've corrected this problem, by explicitly setting the more image's height both before and after its src is loaded. Our test cases here have not demonstrated the problem since this adjustment; let us know if your own results are showing otherwise.

Mixed Content Security Warnings in IE Frame Masks, HTTPS

Finally, when using the IE IFrame masking technique in Internet Explorer, a security warning would appear indicating that some content was being retrieved from an insecure source. This warning message is the result of not assigning a valid src document to the IFrames themselves, as explained in this Microsoft Knowledgebase Entry:

Security Warning Message With IFRAMEs in SSL

In our IFrame mask implementations we didn't assign IFrame sources, because they were unnecessary (we just need the IFrame container itself, it doesn't matter what is loaded within it). To adjust for this error message, we now load the "document" javascript:void(0) into the src of the IFrame masks. This removed the error warning on our test systems here; but at least one client has noted that it was not fully adequate in removing the security warnings in their implementations. If you continue to see security warnings in this scenario (using the IFrame masks in SSL implementations) then you may need to load a valid (empty) page into your IFrame masks. Contact us and we'll be happy to provide details.

Conclusion

Thanks especially to our initial HM6 adopters for pointing out each of these errors to us, allowing us to add even further stability to HierMenus. We appreciate your feedback on these issues!

current page
 



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Created: 6/17/2004
Updated: 6/17/2004
URL: http://www.hiermenuscentral.com/bulletins/15/