php if Abfrage vor Flash Bild

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • php if Abfrage vor Flash Bild

    Hi,

    ich habe ein Flashbild in meiner Homepage eingebaut. Dieses funktioniert gut, nur bei meiner Arbeitsstelle gehts nicht. Da ist kein Flash installiert. Kann man auch nicht, da der Admin dies gesperrt hat.

    So ich will jetzt eine If abfrage oder mit einbauen, die das Flashbild nicht abspielt, wenn kein Flashplayer installiert ist. Geht das irgendwie?
  • Habe leider nur eine kranke Lösung anzubieten:

    Eine Dummy-Page die per Flash auf die eigentlich Flashseite redirected.
    Ca so:

    Quellcode

    1. movie 'check_flash.swf'
    2. frame 0
    3. getURL 'with_flash.html'
    4. end
    5. end



    Diese Dummy-Page hat auch gleich noch den folgenden Metatag

    Quellcode

    1. <meta http-equiv="Refresh" content="5;URL=no_flash.html">


    um im Falle eines Falles zur "no Flash" Seite zu springen.

    hth
  • Ob der Browser Flash kann oder nicht, ist eine Frage des Browsers. PHP aber ist eine serverseitige Programmiersprache und hat von diesen Dingen prinzipiell keine Ahnung. Allenfalls kann man mit PHP Browsername oder vlt. Version herausfinden.

    Vielleicht kann man das Problem mit Javascript regeln - wobei ich im Moment auch nicht wüsste, wie.

    Das beste ist wahrscheinlich, dass man wesentliche Elemente der Seite wie die Navigation nicht über Flash ausdrückt. Oftmals ist es auch so, dass die Effekte, wofür man Flash meint zu benötigen, sich auch mit Javascript realisieren lassen.
  • Hallo,

    da gibt es eine js-Datei, die ich anhänge. Diese in einen Ordner (javascript) rein und im Header deiner Datei einbinden (etwa so: <script src='javascript/flcheck_v2.js' type='text/javascript'></script>). Zusammen mit folgendem Code (deinen Bedürfnissen angepasst!) auf deiner Seite zeigt es entweder das Flash oder ein Ersatzbild an. Das Ersatzbild sollte logischerweise dieselben Maße wie das swf haben und an dieselbe Position. Falls Javascript deaktiviert ist, sorgt das <noscript> im Code für ein Ersatzbild (kann natürlich auch ein transparentes gif sein, falls kein Ersatzbild zu sehen sein soll). Es ist also egal, ob Java aktiviert ist oder nicht. Es wird auf jeden Fall etwas angezeigt. So haben wir die Möglichkeit, bei abgeschaltetem Flash oder Java ein Ersatzbild anzuzeigen. Und das ist besser, als ein roter Rahmen mit Kreuzchen.

    Beispiel zum Einfügen in deine betroffene Seite an der entsprechenden Position:

    Quellcode

    1. <script language="JavaScript">
    2. var flashVersion = 7;
    3. var stringFlash = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" '
    4. + 'width="350" height="60" id="head_1" align="center"> '
    5. + '<param name="movie" value="head_1.swf"> '
    6. + '<param name="loop" value="true"> '
    7. + '<param name="menu" value="false"> '
    8. + '<param name="quality" value="high"> '
    9. + '<param name="bgcolor" value="#006964"> '
    10. + '<embed type="application/x-shockwave-flash" '
    11. + 'src="head_1.swf" '
    12. + 'width="350" height="60" '
    13. + 'loop="true" '
    14. + 'menu="false" '
    15. + 'quality="high" '
    16. + 'bgcolor="#006964" '
    17. + 'name="head_1" align="center" '
    18. + 'pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> '
    19. + '</embed></object>';
    20. var stringNoFlash = '<img src="images/loop.jpg" width="350" height="58" '
    21. + 'alt="Menu" title="" '
    22. + 'name="errflash" id="errflash" usemap="#maperrflash"'
    23. + 'border="0">';
    24. writeFlash(stringFlash, stringNoFlash, flashVersion);
    25. </script>
    26. <noscript><img src="images/loop.jpg" alt="" name="errflash" width="350" height="58" border="0" usemap="#maperrflash" id="errflash" title=""></noscript>
    27. <map name="maperrflash">
    28. <area shape="rect" coords="280,19,350,58" href="0007.htm" onClick="fenster_flash('0007.htm'); return false;" target="_blank" alt="">
    29. <area shape="rect" coords="210,19,280,58" href="0012.htm" onClick="fenster_flash('0012.htm'); return false;" target="_blank" alt="">
    30. <area shape="rect" coords="139,19,210,58" href="0027.htm" onClick="fenster_flash('0027.htm'); return false;" target="_blank" alt="">
    31. <area shape="rect" coords="70,19,139,58" href="0014.htm" onClick="fenster_flash('0014.htm'); return false;" target="_blank" alt="">
    32. <area shape="rect" coords="0,19,70,58" href="0010.htm" onClick="fenster_flash('0010.htm'); return false;" target="_blank" alt="">
    33. </map>
    Alles anzeigen


    So sollte es gehen. Wer sich den Code anschaut, wird vermutlich sofort alles verstehen.

    Gruss panzerknacker
    Dateien
    • flcheck_v2.js

      (7,38 kB, 416 mal heruntergeladen, zuletzt: )
  • ich weiss jetzt nicht genau ob ich das problem verstanden habe und ob meine lösung hier passt, aber ich hab das etwas anderster gelöst.

    Hab auf meiner seite auch ein flashlogo.. nun gibts leute ohne flash installiert.. für diese wird einfach das logo als jpg angezeigt, dies hab ich so gamacht:

    Quellcode

    1. <object type="application/x-shockwave-flash" data="images/logo.swf" name="logo" alt="blablabla" width="200" height="120" hspace="0" vspace="0" id="logo">
    2. <param name="movie" value="images/logo.swf" />
    3. <param name="quality" value="high" />
    4. <param name="bgcolor" value="#3C3330" />
    5. <param name="wmode" value="opaque" />
    6. <param name="menu" value="false" />
    7. <img src="images/logo.jpg" alt="logo" width="200" height="120" alt="blabla" />
    8. </object>


    Keine ahnung ob das hilft, ich hoffe doch :)

    Gruss
  • Habe folgenden JS Code gefunden:

    Quellcode

    1. function flash_detection(required) {
    2. max = 9;
    3. var required_version = required;
    4. var max_version = max;
    5. var available_version = 0;
    6. if (typeof (navigator.plugins["Shockwave Flash"]) == "object") {
    7. var description = navigator.plugins["Shockwave Flash"].description;
    8. available_version = description.substr(16, (description.indexOf(".", 16) - 16));
    9. }
    10. else
    11. if (typeof (ActiveXObject) == "function") {
    12. for(var i = 2; i < (max_version + 1); i ++)
    13. try {
    14. if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object")
    15. available_version = i;
    16. }
    17. catch(error) {}
    18. }
    19. if(available_version == 0)
    20. return 0; // no flash
    21. if(available_version < required)
    22. return 1; // version zu alt
    23. return 2; // ok
    24. }
    Alles anzeigen


    - ungetestet!