Solved

Flash WMODE problem

Posted on 2004-08-31
9
1,712 Views
Last Modified: 2008-01-09
I have a CSS/JavaScript drop-down menu right above my Flash content. I'm trying to keep the menu on top of the Flash layer using the wmode=transparent parameters. It works great it IE, but for some reason the Flash won't show up at all in FireFox or Netscape with the wmode parameter in there.  If I remove the wmode parameters the Flash appears but the menus slide behind it.

Quick note about the system: XP Pro, IE 6.0, Netscape 7.1 and FireFox 0.9.

My code is below. Does anybody see anything wrong with it?

<object type="application/x-shockwave-flash" data="/media/driving.swf" width="605" height="229" style="z-index: -1;">
     <param name="movie" value="/media/driving.swf" />
     <param name="wmode" value="transparent" />
     <embed src="/media/driving.swf" quality="high" width="605" HEIGHT="229"
          name="Driving" align="" type="application/x-shockwave-flash"
          pluginspage="http://www.macromedia.com/go/getflashplayer"
          wmode="transparent">
          </embed>
</object>
0
Comment
Question by:jonbigelow
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
9 Comments
 
LVL 7

Expert Comment

by:fixitben
ID: 11946749
Hi jonbigelow

Yeah that the main problem with the transparent wmode.  It will play animation fine and on(rollover) stuff but the on(release) don't work check out this http://theyac.org/indexhigh.html   in mozilla or netscape the news on the right the buttons won't work but the rollover on the bent page on the top right corner will but won't close with the on(release).   So Yes the transparent wmode works in other browsers but not the buttons that is how the macromedia site can say it works when it doesn't.  What I did was add some javascript on my main page that redirects to a non flash page if they don't have internet explorer.

<script>
var detect = navigator.userAgent.toLowerCase();
var browser;
if (checkIt('msie')) browser = "internet Explorer";
else window.location="http://theyac.org/nonflashpage.html";
function checkIt(string)
{
      place = detect.indexOf(string) + 1;
      thestring = string;
      return place;
}

</script>

So I know this isn't what you wanted to hear, but it is true.  And if you didn't add the second wmode="transparent" inside the embed it wouldn't have even made it transparent in those browsers, but it would have been in IE.  

Fixitben
0
 

Author Comment

by:jonbigelow
ID: 11946937
Thanks for the reply Fixitben, but the problem is I can't get the Flash to show up at all with the wmode parameters in there.  It's a very simple animation, no buttons at all.  All I get in FireFox and Netscape with the above code is whitespace where the Flash should be.  Any ideas?
0
 
LVL 10

Accepted Solution

by:
muso120999 earned 250 total points
ID: 11947317
Have you tried wmode="opaque" - it doesn't hide the background of the Flash movie.

Also are you showing the Flash in a layer itself, as I think this can cause problems too in NN and Firefox.
0
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
LVL 7

Expert Comment

by:fixitben
ID: 11947359
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="605" height="229">
     <param name="movie" value="/media/driving.swf" />
     <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
     <embed src="/media/driving.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="605" height="229" wmode="transparent"></embed>
   </object>

Try this code instead yours looks kind of wierd I can't see a blatent problem with it.  But try this.

Fixitben
0
 

Author Comment

by:jonbigelow
ID: 11947362
The flash wasn't in a layer but it was in a z-indexed div.  I removed the z-indexing and that seems to have solved the problem.  Thanks for the comments.
0
 
LVL 10

Expert Comment

by:muso120999
ID: 11947582
> The flash wasn't in a layer but it was in a z-indexed div.

That is a layer!
0
 
LVL 10

Expert Comment

by:muso120999
ID: 11978010
Feel free to either accept my post, or request a delete at this point!
0

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is intended to introduce all collision detection principles in flash, their strengths, weaknesses and workarounds. The main method for Collision Detection in flash is using hitTestObject. But unless you'll be pushing rectangular shapes without …
I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question