There are no Magic Silver Bullets...

Posted by Mattias Sandström on March 16, 2009

For many things, we saw Adobe Flash as the “silver bullet” that would finally enable us to do cross-browser user interfaces. Most of this promise has been delivered - thanks to the Flash Player we can now develop complex user interfaces and also deliver them users, regardless of the browser or version they are using.

Going further on this path, in version 6.0.1 of VirtualTester we wanted to combine the static HTML-pages with components made in Flash and ran into some unexpected and complex problems...

The scenario is as follows; we want to have the form (the grey area) in Flash to get the nice elements (date-pickers etc.) but at the same time use the site’s HTML-based navigation and the rest of the pages. The flash component should be embedded on the page, accept input and post data back to the server.

flash.png

Well it turns out that creating the form in Flash was a breeze, as was getting the Flash component to post data back to the server (using standard GET/POST requests and the HTTPService ActionScript class). All in place, I added the Flash component to my HTML-page and immediately ran into problems using FireFox! To my amazement Internet Explorer 7 behaved as expected... FireFox 3.0 displayed the Flash component in front of all other elements on the page - not a very successful approach.

Browsing the Net, the solution I came across was to add a parameter named wmode to the Flash object and set this parameter to opaque. This solved the problem with the Flash object covering the other contents of the page but introduced the side-effect of triggering a nasty and old bug (actually from 2006) in FireFox and Adobe Flash Player - input fields not working correctly with non-US keyboards.... Grrr.... This amazing bug means that users of non-US keyboards cannot enter (for example and most notably) the @-sign in edit-fields created in Flash. The work-around to this is not to use wmode=opaque but then the Flash object is displayed in front of the HTML and we are back at square one again....

Luckily this bug has been addressed in FireFox 3.1 (or 3.5 as the next version will be) so by the end of April (if the release is on schedule) we will once again be cross-browser compatible and FireFox users will enjoy the same features and functions as IE users. Until then - there are no things like silver bullets...

 
 
 

Copyright © 2005-2012 Tangix Design & Development. All rights reserved