JavaScript menus

Commonly seen standard-scripts (and how to spot them)

Older (sometimes even recent) versions of all the common menus are designed to detect Opera and not work because older Opera versions did not support enough DOM. Site owners should upgrade. If the site is important, consider it a OTW issue.

Name/link How to recognise Notes
MilonicMilonic copyright notice in source. Older versions have copyright notice crediting Andy Woolley. Versions >= 3.5.08 O7-compatible
HierMenus HM_ variables, Peter Belesis copyright notice, loading different scripts for different browsers, javascript:alert(typeof(HM_DOM)) says "boolean"We were in touch with author around the release of 7 and he adapted the script to Opera quickly. A few odd and known problems in older versions still being used.
HVMenu (Free) javascript:alert(typeof(Opr)) says "number"Versions>=5.411 O7-compatible
AllWebMenus LITE $35, PRO $59.95 javascript:alert(typeof(awmMenuPath)) says "string"Newest versions O7-compatible. Contacted Opera Support for advice when adapting their menu to Opera.
CoolMenusCoopyright notice:
Copyright (c) 2001 Thomas Brattli (www.dhtmlcentral.com) (I think older versions may have "bratta.com" instead of dhtmlcentral)
Newer versions compatible.
OpenCube The commonly used version currently has very scrambled drop-down parts, console error about a variable called "q81" not convertible to Object. Files are dqm_ prefixed and code nearly un-readable. Most recent version on their site worksComputerworld's choice.
UDMThe "Ultimate Dropdown Menu". All script files start with a script version-signature:
//UDMv3.8.4
All versions compatible. AFAIK a bug in one older version causes text in menus to disappear in O6.
STMenu Sothink DHTMLMenus (STMenu) - usually no copyright notice, but STM-prefixed variables / files. Special file for Opera 6: stm30op6.js. javascript:alert(typeof(EnableDMenu)) says number or javascript:alert(typeof(STMenu )) says ObjectNewest versions O7-compatible.
MTMenu Morten Wang's treemenu, MTM-prefixed variables and function names, javascript:alert(typeof(MTMenu)) says "function". Note: often used with frames. javascript:alert(typeof(top.frames[1].MTMenu)) Not working in O7. Sourceforge-hosted project. Developer is aware of the problem. Apparently the issue is caused by a bug in Opera.
BrainJar
twinhelix
DynAPIconsole error about this.elm.lyrobj for some implementations.Not exactly a menu - more a DHTML toolkit. Multiple usages and implementations. Hosted at Sourceforge. We have been in touch with developers.
siteexpert
xFX menuVery responsive and friendly developer. Menu keyboard nav broken by bug in 7.5 previews

Menu detection bookmarklet

MultiMenuDetect

Notes:

If a menu which does not work correctly in Opera 7.x is named by this script, it is an outdated version.