Last time I ran into the problem of Flash’s NavigateToURL being blocked in IE, and the fix was to set wmode.
Last night I hit another wmode problem: a text input field in Flash (a genuine TextField in CS4, type=’input’), once embedded in a web page, couldn’t take Chinese input properly in Firefox — the IME worked, but everything typed came out garbled.
My environment: Firefox 3.5.3 + Flash Player Plugin 10.0.32.18 debug build. IE8 + Flash Player ActiveX 10.0.32.18 release build.
At first I suspected the swf itself, but opening it in IE worked perfectly fine. Then I grabbed standalone Flash Player 9 and standalone Flash Player 10 and ran them — no garbled text either. Only testing inside a Firefox web page had the problem.
Next I suspected that some new feature in Flash CS4 was producing a file that was unusable under certain conditions, so I published three swf builds — fp10, fp9, fp8 — and tested each one. The problem persisted.
With no cause in sight, I just dragged the swf straight into Firefox. And that drag turned out to be the breakthrough — I found the cause: opening it directly in Firefox produced no garbled text at all! That meant the culprit had to be the settings used to embed the Flash in the page.
In the end I tracked down the problem: Firefox && Flash Player 10 Plugin && wmode==’opaque’ garbles the input — under Firefox, the Flash Player 10 Plugin running a non-window-mode swf has a Chinese input garbling issue. (Maybe an Adobe bug?)
Solution: I still have to switch wmode back to window… Never mind, I’ll accept it. Window it is, and I’ll find another way to force the frame rate…