Tuesday, January 23, 2007

Flash Feature Detection

I've continued to work on my SWFUpload revision. I've tested the graceful degradation a bit more and it is slowly improving. I've tested it with Flash 2, 4, 6, and 8 in Internet Explorer 6. Of course, it only works in Flash Player 8 or above but it correctly degrades for early players.

Flash Player Feature Detection
I've also started on a Revision 3 which changes the entire method of Flash Version Detection. I have removed the SWFObject code (which performs the Flash version detection). I'm experimenting with a detection method similar to browser Object Detection. Instead of looking at the flash version number (as reported by the browser) I have the player check for key features, such as, Javascript calls to Flash, Flash calls to Javascript and the whole File Upload bit, which only work in since Flash Player 8.

I do this by having Javascript first add the flash movie to the page. It does not attempt any Flash version checking. If Flash is installed and working in the browser the movie will load. If a Flash Player older than version 8 is installed it will not be able to play the movie properly and the SWFUpload script stops.

However, if Flash Player 8 or above is installed the movie calls a Javascript function which alerts the SWFUpload script that it can continue loading. SWFUpload continues by loading the UI components so the user can begin uploading files.

New SWFUpload features

I didn't think I'd go so far in this project as to begin tweaking the Flash files. But now that I have I am going to begin looking in to adding Cancel Upload and Cancel Queue features.

It's been an interesting excursion so far but I think I've just about spent enough time on it. Hopefully I'll have what I want wrapped up pretty quick.

No comments:

Post a Comment