<< back to knowledgebase home

Menu appears behind a Flash SWF object, Quicktime movie, Java applet, Form object or iFrame (MM1, MM2)

Article Applies To:

MenuMachine 1 & 2

GoLive 6, CS, CS2

Mac, Windows

Article ID: 000065

Category: Browser Issues

Issue

There is a Flash SWF file, Quicktime movie, Java applet, Form or Form object or iFrame on the page.

The menu or submenus appear behind it in some browsers. Changing the Z-Index does not help.

Solution

Firstly, try to design the menu so it does not overlap the object.

If that can't be done, read on...

This is a problem (bug) in a variety of web browsers. Basically, these browsers "force" the plugin, form object or iFrame content to the front. All other content, including floating boxes will appear behind the object.

Because MenuMachine menus are built using Dynamic HTML, they are affected by this issue. This problem affects all DHTML menu systems, not just MenuMachine ones.

There is no fail-safe workaround apart from designing the page so that the plug-in object does not conflict with the menu.


1. Fix for iFrames (MenuMachine 2 only)

Updating MenuMachine 2 to version 2.1 or later should allow the menu to appear above iFrames in most browsers. You also must assign a background color to the menu blocks in your menu for this to work.


2. Partial workaround for Flash objects:

This partial workaround for flash objects works in some browsers only. If WMode is not supported, the object will still appear over DHTML objects.

To allow DHTML objects appear over a Flash movie you need to make two changes to the Flash/SWF code in the page.

You first need to add this parameter inside the Flash <object> tag:

<param name="wmode" value="transparent">
You then need to add the attribute wmode to the embed tag:

<embed wmode="transparent" ...
If you like, you can use the SWF inspector in GoLive to make the change. Select the SWF object in Layout view, then click the Attribs tab in the inspector. You can then add the parameter like so:



These Adobe articles have more information about this topic:
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_15523
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14201


3. Partial workaround for Form objects (MenuMachine 2 only)

There is a MenuMachine 2 Preference to hide menus if a form is present.

To turn on this preference, open your menu in the MenuMachine 2 Editor.

Switch to Global Mode > Behavior Tab

Check Hide form elements when menus display (if necessary)


3. Partial workaround for other types of objects:

Place the object in a layer.

Add an Action to the menu items to hide the layer containing the object when the menu is active and show the layer when the menu is inactive.

You could even have an image behind the layer so that when the flash movie, iFrame etc is hidden, you can see a "still" image (perhaps a frame from your movie) or another image behind it.

You need to define two Head Actions which use the ShowHide action set to trigger onCall, one which hides the layer containing the Flash object and one which shows it.

Then, you need to attach the hide action to the "Mouse Over" event of each menu item and the show action to the "Mouse Out" event of each menu item.

Last updated: August 6, 2006

This article has been viewed 37443 times.

Related articles