Recipe 3.1. Detecting
the Player Version
Problem
You want
to ensure that the user has the correct version of the Flash Player.
Solution
Use the Flash Player Detection Kit, available
on Adobe's web site to check
the version of player and, if necessary, initiate a player upgrade
(http://www.adobe.com/software/flashplayer/download/detection_kit).
Discussion
Detecting the currently installed version of the
Flash Player in the user's browser has been a problem for years,
and there have been many solutions used by various developers. They
generally fall into three categories:
The first method uses JavaScript or VBScript to detect the version of the
Flash Player the user has installed. Many of these scripts were
prone to errors due to differences in platforms and browser
types.
Server-side detection can be difficult if you
don't have the ability to create server-side scripts.
Most ActionScript-based player detection
techniques won't work directly in an ActionScript 3.0-based
.swf. While ActionScript 1.0 and 2.0 had various object
methods, variables, and functions that would return the player
version, none of those are now valid in an ActionScript 3.0 class.
ActionScript 3.0 has its own way of detecting the player versionthe
flash.system.Capabilities.version
property. This, of course, won't work at all with any version of
the Flash Player prior to 8.5, so it is rather useless for Flash
detection.
Adobe has researched all of these issues
thoroughly, and came out with a Flash Player Detection Kit that
guides you through the recommended procedures for best detecting
the player version.
The kit includes documentation on the various
issues and potential solutions, including sample VBScript and
JavaScript for browser-based detection; .flas, .as, and .swf files for ActionScript
detection; as well as ColdFusion and PHP scripts for server-side
detection.
ActionScript-based detection works successfully
as long as the user has any version of the Flash Player from
Version 4 on up. Basically, it is a Flash 4 .swf that
executes a script to detect the current player version; all you
need to do is set your minimum content version as a variable in the
script. If the player version is at least as high as the content
version, it loads the specified content. If not, it redirects the
browser to an alternate content page. This page can contain a lower
version .swf, a non-Flash version of the content, or a
notice instructing the user to upgrade his Flash Player, with a
link to the player install page on Adobe's site.
Furthermore, the kit contains a .swf and
HTML template that initializes an Express Install of the latest version
of the Flash Player. If the user's player is not adequate, the
browser is redirected to this .swf, which downloads the
latest version of the Flash Player from Adobe's site, automatically
installs it, and finally redirects the user back to the specified
Flash content, all without the user ever leaving your site. This
option requires that the user already have Version 6.0.65.0 of the
Flash Player installed.
Using a combination of the techniques included
in the Flash Player Detection Kit gives you very precise control
over the Flash Player version and the content you deliver to your
viewers.
For testing purposes, older versions of the
Flash Player can be obtained from Macromedia's site (http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14266).
|