In the last few days I’ve been experiencing weird rendering problems in some websites while using the latest stable version of Firefox (3.0.1) in MAC.
Searching google I found more people having similar issuses like blinking pages when using SWFAddress for Flash in FF3 MAC.
In all the cases the solution given for the problem is to add a small delay between the visual transition and the JavaScript interaction of SWFAddress.
After reading all this posts I thought the problem was specific for SWFAddress but my surpsise was when I found similar problems in one of our projects which is not using SWFAddress at all and it is almost 4 years old (AS2). In this specific project we were using ExternalInterface extensivelly.
I have done a small test with just a gradient background and three round corner buttons using ExternalInterface call method to call three different javscript functions and the results are scary:
1) First button (left) calls an alert in javascript using a timeout:
JAVASCRIPT: setTimeout(”alert(’test 1 with timeout’)”, 1000);
FLASH: ExternalInterface.call(”test1″);
2) Second button (middle) calls an alert in javascript:
JAVASCRIPT: alert(”test2 no timeout”);
FLASH: ExternalInterface.call(”test2″);
3) Third button (right) calls scrollTo in javascript:
JAVASCRIPT: scrollTo(0,100);
FLASH: ExternalInterface.call(”test3″);
Second and third button in FF3 MAC makes the flash movie to behave in a weird way when the javascript action is executed.
http://www.lessrain.com/projects/luis/as3/bugs/ff3mac/deploy/
Looking at this results and considering that SWFAddress uses ExternalInterface I can say for now that part of the problem is caused by using the ExternalInterface call method in FF3 MAC (looking at the problem from a flash developer point of view, I don’t know what is happening behind the “Cocoa Firefox” scenes), but maybe the problem goes deeper than this, I don’t know yet, this is only my first attempt to find out the causes of Flash blinking and behaving bad in FF3 MAC.