authorware web player 2004 detection script

Last week I needed a way to detect the presence of the Authorware Web Player version 2004 on user’s machines so I put together a javascript isAwWebPlayer2004() function to be inserted in a html page. You can download the AwWP-04_detector.js here. It contains the one function which returns ‘true’ if version 2004 of the web player is detected. I’ve tested it in Firefox 1.0 and IE 6 on a couple of windows machines. I did have offers from mac users via the aware list to give it a go but never heard back from them (hope it didn’t knock ‘em offline). So I’ve also put together a little debug page that provides a bit more detected player information rather than just true / false. That page is here if you want to try it out. If you find it’s mis-reporting please post in the comments with what it reports as well as your actual player / browser / os configuration.

A word about how the script works. In browsers that use the netscape plug-in API (Mozilla, Firefox…) the detection is pretty straightforward. It just checks the description property of the navigator.plugins array. Unfortunately it’s not so simple in Internet Explorer. ActiveX controls that IE can load typically have a class id that the browser uses to identify the control and usually this class id contains a version number. This doesn’t seem to be the case with the aw web player control which in the few versions I tested were all “Macromedia.AuthorwareShockwaveControl.1″. Here’s where the hack comes out. The 2004 web player added a few new methods to the activex control (see this MM technote for all you’ll ever want to know about the 2004 web player) so the script creates an instance of the control and then checks if GetVariable (one of those new methods) is a member of that instance. If it is we know that the player is the 2004 version.

5 Responses

  1. Jeff Manske says:

    March 15, 2006 at 12:17 pm

    Can you detect for just Authorware Web Player 7 not 2004?


  2. andrew says:

    March 15, 2006 at 10:56 pm

    Good question Jeff. It’s been awhile, but I don’t think you can do so reliably. It should be pretty basic with the plugin browsers (like Firefox) but detecting the ActiveX seems to be a tough one. If it’s at all possible in your case – the 2004 player solves this and makes alot of other things *so* much easier…

    Cheers,
    A.


  3. Jeff Manske says:

    March 27, 2006 at 2:47 pm

    I would only need to detect for Authorware Web Plalyer 7 on internet explorer 6. Would that be possible?


  4. andrew says:

    March 27, 2006 at 3:56 pm

    Not that I’m aware of Jeff. May I ask why the WP7 is your baseline? The 2004 Player supports all versions of content:
    http://www.macromedia.com/go/tn_19348

    A.


  5. Chris says:

    May 21, 2008 at 12:25 pm

    Hi did anyone manage to solve the detection of earlier versions of Authorware in IE?

    I have a client base some of who have installed Authorware 6 to run one of my applications.

    The app run in most flavour of authorware but so I dont want to require users to get the 2004 plugin. But I have a system check script (asp) that needs to detect earlier authorware players rather than showing it as not found.

    Does anyone have any ideas?

    Thanks in advance,

    C


Leave a Reply