I thought I’d seen it all, but this is one of the strangest. A developer on my team built a standard preloader using the MovieClipLoader class, been done a million times. Very standard stuff, using the onProgress event to position a progress bar by calculating the percentage with the bytesTotal and BytesLoaded arguments. Worked perfectly in IE on a PC. In Firefox the progress wouldn’t move past 0% unless the user moved their mouse. WTF?!?
After hundreds of traces, an old school loadMovie with an onEnterFrame or interval calculating the load progress with getBytesLoaded() and getBytesTotal() every iteration, Nothing!. Same thing everytime. 0% unless we moved the mouse and only in Firefox on a PC.
Pulling at straws, and approximately 2 minutes before our systems took a 3 story plunge, we removed the wmode=transparent attribute in the embed html tag. Voila, the problem magically disappeared. Again, in unison WTF?!?.
Why the heck would the transparency effect the preloader? I have run into issues with memory spikes when wmode is set to transparent but things always work, just a little slower. Don’t get me wrong, I rarely use wmode=transparent, but in this case the designer had something specific in mind and there was no way around it. Well guess what, we ended up convincing the designer to change the background so it would match seamlessly in html and flash. Now we don’t have to worry about this.
Has anyone else seen this? Are we on crack? Feel free to contact me if you have seen this behaviour before. Soon I will have the comments section built and you will be able to post your comments right here. Right now I am chalking this up as a bug in the Flash player for Firefox.
Tags: firefox, inactive, no events, transparent, wmode
November 12th, 2007 at 5:15 pm
I resolved an issue today that revolved around wmode=transparent. I had a simple form that used the AS3 UI components ( text input/combo box ). On load, my swf displayed, but all my UI component skins were transparent ( except the focus rectangle ? ). I could click where the text input was located and get a blinking cursor and focus rectangle, but no skins. I eventually narrowed it down to SWFObject, and removed my wmode=transparent param, and voila! My UI component skins magically reappeared. And to top it off… this behavior was only in Firefox and Safari, but not in IE? Weird.
December 14th, 2007 at 1:07 pm
I’m getting a similar problem where I have a FLV with alpha playing over a FLV background. If I click reload, it won’t reload until I move the mouse. Also, if I click on a Firefox tab, it won’t switch, and if I type in a URL in the address bar, it will only load that page if I hit return 2 times.
Anyone find a workaround to this?
April 22nd, 2008 at 7:27 am
We are also having a wmode=transparent related issue, but a bit different.
We are using FlashPaper with custom ActionScript on top (the FP is loaded as a clip). We’re also using SWFObject to embed it into the page.
When we do something like this:
so.addParam(”wmode”, “transparent”); // so is SWFObject
The mouse over behavior becomes extremely jerky (plus CPU spikes like you mention), to the point of rendering the interface useless, *but only in IE*.
Took us a lot of trials to figure out we have the wmode parameter to blame.
May 12th, 2008 at 9:24 am
I’m also having a problem with wmode transparent in IE7. I have found that there is mouse tracking is a problem. This includes “startdrag” and _mousex / _mousey. I’m currently at a loss as far as solving my problem. I’m using this flash window to create a drop down menu where the content below must be visible through the flash window.
Any ideas would be helpful,
Tim
May 12th, 2008 at 2:19 pm
I have found that the problem goes away when you place a transparent object on the lowest layer inside the flash movie. For some reason when the mouse is moved over an area where there is no object, things get all jumpy.
Tim