Anleitung | Flash Plugin Detection

Diskutiere mit über: Anleitung | Flash Plugin Detection im Flash and Actionscript Forum

  1. sevY

    sevY Thread Starter Gast

    Hi,

    auf Basis von Colin Moocks Flashdetection Kit habe ich nun folgendes JavaScript für alle Interessierten zusammengebaut.
    Im Prinzip ist es einfach nur ein wenig vereinfacht und auf eine Variante (redirect=false) beschränkt.

    Das Flash Detection Script funktioniert so, das 3 verschiedene Art von Inhalt angezeigt werden.

    1.) Flash Plugin mit korrekter Version gefunden, Flashcontent wird angezeigt.

    2.) Kein Flash Plugin oder ein zu altes Flash Plugin gefunden, Alternativcontent wird angezeigt

    3.) Keine Javascript im Browser aktiviert, Detection schlägt fehlt. Alternativcontent wird angezeigt.



    Das Javascript sieht nun wie folgt aus. In der ersten Zeile könnt ihr mit einer Variable und einem Integerwert die Version des benötigten Flashplugins definieren. Hier ist es auf Version 6 definiert.

    Das Javascript kommt am besten zur Übersichtlichkeit in eine externe function.inc.js .

    PHP:
    //Javascript
    var requiredVersion=6;
    var 
    useRedirect=false;
    var 
    flash2Installed=false;
    var 
    flash3Installed=false;
    var 
    flash4Installed=false;
    var 
    flash5Installed=false;
    var 
    flash6Installed=false;
    var 
    flash7Installed=false;
    var 
    flash8Installed=false;
    var 
    flash9Installed=false;
    var 
    maxVersion=9;
    var 
    actualVersion=0;
    var 
    hasRightVersion=false;
    var 
    jsVersion=1.0;            
    var 
    isIE=(navigator.appVersion.indexOf("MSIE") != -1) ? true false;
    var 
    isWin=(navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true false;
    jsVersion=1.1;
    if(
    isIE && isWin)
        {
        
    document.write('<scr' 'ipt language=VBScript\> \n');
        
    document.write('on error resume next \n');
        
    document.write('flash2Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
        
    document.write('flash3Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
        
    document.write('flash4Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
        
    document.write('flash5Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
        
    document.write('flash6Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
        
    document.write('flash7Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
        
    document.write('flash8Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
        
    document.write('flash9Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
        
    document.write('<\/scr' 'ipt\> \n');
        }
    function 
    detectFlash() 
        {  
        if (
    navigator.plugins
            {
            if (
    navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) 
                {
                var 
    isVersion2=navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" "";
                var 
    flashDescription=navigator.plugins["Shockwave Flash" isVersion2].description;
                var 
    flashVersion=parseInt(flashDescription.substring(16));
                
    flash2Installed=flashVersion == 2;    
                
    flash3Installed=flashVersion == 3;
                
    flash4Installed=flashVersion == 4;
                
    flash5Installed=flashVersion == 5;
                
    flash6Installed=flashVersion == 6;
                
    flash7Installed=flashVersion == 7;
                
    flash8Installed=flashVersion == 8;
                
    flash9Installed=flashVersion >= 9;
                }
            }
        for (var 
    i=2<= maxVersioni++) 
            {  
            if (eval(
    "flash" "Installed") == trueactualVersion=i;
            }
        if(
    navigator.userAgent.indexOf("WebTV") != -1actualVersion=4;  
        if (
    actualVersion >= requiredVersion
            {
            
    hasRightVersion=true;                
            } 
        else 
            {  
            
    hasRightVersion=false;
            }
        }
    detectFlash();

    In die Datei, die dann den Flashcontent bzw. Alternativcontent enthalten soll, kommt folgendes.


    In der Variablen oeTags wird der Flashcontent definiert. Ihr könnt dort die Parameter entsprechend eures Contents anpassen.

    Die Alternativecontents und deren Stelle sind ersichtlich aus dem Code.

    PHP:

    <html>
    <
    head>
    <
    meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    <
    meta http-equiv="expires" content="0">
    <
    meta http-equiv="pragma" content="no-cache">
    <
    script language="javascript" type="text/javascript" src="function.inc.js"></script>
    </head>
    <body>
    <table width="100%" height="100%">
        <tr>
            <td align="center" valign="middle">
                <table>
                    <tr>
                        <td>
                           <script language="javascript" type="text/javascript">                 
                                if(hasRightVersion) 
                                    {
                                    var oeTags='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
                                    + 'width="550" height="400"'
                                    + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
                                    + '<param name="movie" value="main.swf">'
                                    + '<param name="play" value="true">'
                                    + '<param name="loop" value="false">'
                                    + '<param name="quality" value="high">'
                                    + '<param name="menu" value="false">'
                                    + '<embed src="main.swf"'
                                    + 'width="550" height="400"'
                                    + 'play="true"'
                                    + 'loop="false"'
                                    + 'quality="high"'
                                    + 'menu="false"'
                                    + 'type="application/x-shockwave-flash"'
                                    + 'pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">'
                                    + '<\/embed>'
                                    + '<\/object>';
                                    document.write(oeTags);
                                    } 
                                else 
                                    {
                                    var alternateContent='Macromedia Flashplayer required';
                                    document.write(alternateContent);
                                    }
                            </script>
                            <noscript>
                                Javascript 1.0 requied
                            </noscript>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    </body>
    </html>


    Zur Originalscript von Colin Moock geht es hier.

    Generell sind Colin Moocks Bücher sehr zu empfehlen, schaut doch einfach mal rein… und nutzt vielleicht den Macuser.de Amazonlink, falls ihr ein Buch kaufen möchtet.


    Liebe Grüße

    Yves
     
    Zuletzt von einem Moderator bearbeitet: 13.07.2004
  2. freso

    freso MacUser Mitglied

    Beiträge:
    1.279
    Zustimmungen:
    24
    Registriert seit:
    27.09.2002
    hi yves,

    ich habe gerade dein scrip mal ausprobiert, aber es will irgendwie bei mir nicht klappen. vielleicht mache ich irgendwas falsch, aber bei mir wird kein flash film gezeigt und es steht auch immer plugin required dran.

    als erstes habe ich eine datei erstellt test.html und den html-code reingesetzt, dann habe ich die zweite datei mit dem js gefüllt und diese function.inc.js genannt und als nächstes habe ich ein einfache swf datei (main.swf) gebastelt, alles liegt in einem ordner... so dürfte doch die vorgehensweise stimmen, oder? öffne ich jetzt die test.html kommt immer plugin required.

    noch eine weitere frage, im js kann ich da in der ersten zeile angeben, welche plugin version ich gerne haben möchte, also anstatt der 6 zb einfach 4 reinschreiben?

    gib es etwas, was ich beachten muß, dass es funktioniert?

    vielen dank schon mal, und auch danke für das script...

    gruß freso
     
Die Seite wird geladen...
Ähnliche Themen - Anleitung Flash Plugin Forum Datum
Welche Alternative zu Flash? Flash and Actionscript 04.11.2016

Diese Seite empfehlen

Benutzerdefinierte Suche