/*** * Javascript Flash Detection (14.02.2005) * (c) Oliver Nowak * http://www.deydesigns.com * * Syntax: * [variable = ] flash_detection(required, max); * * * @param     integer    benötigte Flash Plugin Version * @param     integer    maximal zu prüfende Versionen * @return    array      vorhandene Version (0 = kein Flash Plugin installiert) *                       und benötigte Version (integer) * * * Hinweise: * * Wie wir ja alle wissen gibt es keine 100% zuverlässige Flash Detection, * und genauso verhält es sich mit dieser. Sie wird nicht mit allen Systemen * funktionieren. Wie dem auch sei, sie wurde erfolgreich getestet unter * WindowsXP (SP1) mit MSIE 6, NS 7.1, Opera 7.11, Mozilla 1.4 und Firefox 1.0 * * * Nicht vergessen, credits where they are due. */function flash_detection(required, max){    var required_version = required;    var max_version = max;    var available_version = 0;    /* dieser Abschnitt ist für NS, Mozilla, Firefox und ähnliche Browser */    if(typeof(navigator.plugins["Shockwave Flash"]) == "object")    {        /***         * Wenn wir hier landen, dann ist Flash installiert, und wir können die Version         * aus der Beschreibung auslesen.         */        var description = navigator.plugins["Shockwave Flash"].description;        available_version = description.substr(16, (description.indexOf(".", 16) - 16));    }    /***     * dieser Abschnitt ist für den IE und ähnliche Browser die ActiveX benutzen um Flash     * anzuzeigen.     */     else if(typeof(ActiveXObject) == "function")    {        /* durchlaufen der Flash Versionen von 2 bis zur maximal zu prüfenden Version */        for(var i = 2; i < (max_version + 1); i ++)        {            /***             * wir beugen mittels try und catch (JS 1.5+ / IE5+) einem Fehler vor (welcher einen             * Abbruch des Scripts zur Folge hätte), so können wir auch auf ein extra VBScript             * verzichten.             */            try            {                /***                 * läßt sich das ActiveX Flash Objekt Version i erstellen, so ist diese Version                 * auch installiert                 */                if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object")                {                    available_version = i;                }           }           catch(error)           {           }        }    }    /* die Werte werden in Form eines Arrays zurückgegeben */    return [available_version, required_version];}
