Ronnja: flashscheck

Hallo.
Ich habe ein Flashscheck in eine seite eingebaut. Wenn Plufin nicht vorhanden setze ein gif in.
Auf PC funtioniert es auf dem Mac nicht. Was habe ih falsch gemacht?

Gruß
Ronnja

<script language="JavaScript">

<!--

//Browserabfrage
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                   && (agt.indexOf('webtv')==-1));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                      (agt.indexOf("; nav") != -1)) );
var is_nav5 = (is_nav && (is_major == 5));
var is_nav5up = (is_nav && (is_major >= 5));
var is_ie   = (agt.indexOf("msie") != -1);
var is_ie3  = (is_ie && (is_major < 4));
var is_ie4  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up  = (is_ie  && (is_major >= 4));
var is_ie5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5up  = (is_ie  && !is_ie3 && !is_ie4);
var is_op =(agt.indexOf('opera')!=-1);
// System
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac    = (agt.indexOf("mac")!=-1);

// Detection with Javascript
var flash3 = 0;
var flash4 = 0;
var flash5 = 0;
var flash4up = 0;
var FlashMode3 = 0;
var FlashMode4 = 0;
var FlashMode5 = 0;
var plugin3type = "Shockwave Flash 3.0";
var plugin4type = "Shockwave Flash 4.0";
var plugin5type = "Shockwave Flash 5.0";

// -->

</script>
<script language="VBScript">

<!--
On Error Resume Next
                FlashMode3 = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3")))
        On Error Resume Next
                FlashMode4 = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4")))
        On Error Resume Next
                FlashMode5 = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))

// -->

</script>
<script language="JavaScript">
<!--
flash_ok =false;
function film() {
if(is_nav4up || is_op)
{
        for(i=0;i<navigator.plugins.length;i++)
        {
                if(navigator.plugins[i].description.indexOf(plugin4type) != -1)
                {
                        flash4 = 1;
                        flash4up = 1;
                }
               if(navigator.plugins[i].description.indexOf(plugin5type) != -1)
                {
                        flash5 = 1;
                        flash4up = 1;
                }
        }
}
else if (is_ie4up && is_win) {
        if (FlashMode5) {
                flash5 = 1;
                flash4up = 1;
        }
        else if (FlashMode4) {
                flash4 = 1;
                flash4up = 1;
        }
}else if(is_ie5 && is_mac){
         for(i=0;i<navigator.plugins.length;i++)
   {
          if(navigator.plugins[i].description.indexOf(plugin4type) != -1)
                {
                        flash4 = 1;
                        flash4up = 1;
                }
               if(navigator.plugins[i].description.indexOf(plugin5type) != -1)
                {
                        flash5 = 1;
                        flash4up = 1;
                }
   }
}

//Film gegen Bild tauschen
if (is_ie5 && is_mac && flash4up) {
flash_ok =true;
}
else if (is_ie4 && is_mac) {
flash_ok = false;
}
else if (flash4up) {
flash_ok = true;
}

}
film();

// -->
</script>

<table width="1" border="0" cellspacing="0" cellpadding="0">
  <tr>
 <td><img src="/img/guide/destinations.gif" width="398" height="33" alt="" border="0"></td>
  </tr>
  <tr>
 <td class="copy">test</td>
  </tr>
  <tr>
 <td class="copy"><img src="/img/guide/spacer.gif" width="1" height="10"></td>
  </tr>
  <tr>
 <td class="copy"> </td>
  </tr>
  <tr>
 <td class="copy">
<script language="JavaScript">
<!--
if(flash_ok == true) {
  document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
  document.write('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="398" height="260">');
        document.write('<param name=movie value="/img/guide/map_blau.swf">');
        document.write('<param name=quality value=high>');
        document.write('<embed src="/img/guide/map_blau.swf" ');
  document.write('quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"');
  document.write('type="application/x-shockwave-flash" width="398" height="260">');
        document.write('</embed>');
      document.write('</object>');

} else {
 document.write('<img src="/img/guide/map.gif" HEIGHT="248" WIDTH="398">');
}
//-->
</script>
      <noscript> <img src="/img/guide/map.gif" height="248" width="398"></noscript>
    </td>
  </tr>
  <tr>
 <td><img src="/img/guide/spacer.gif" width="398" height="1"></td>
  </tr>
</table>

  1. Ich habe ein Flashscheck in eine seite eingebaut. Wenn Plufin nicht vorhanden setze ein gif in.
    Auf PC funtioniert es auf dem Mac nicht. Was habe ih falsch gemacht?

    keine Ahnung, ich benutze keine Flash und hab auch keins, aber was spricht gegen eine HTML Lösung?

    <object ....>
    <embed ....>
    <img src="..."
    </embed>
    </object>

    Struppi.

    1. Wie soll es denn mit einer html lösung funzen, wenn ich eine funktion brauche, die wenn kein plugin vorhanden ist ein gif lädt??!

      1. hi,

        Wie soll es denn mit einer html lösung funzen, wenn ich eine funktion brauche, die wenn kein plugin vorhanden ist ein gif lädt??!

        wofür schrieb er wohl ein <img ...> innen rein ...?

        gruss,
        wahsaga

        --
        http://wazgnuks.net/ - back from the dead
        1. Ich brauch aber ien flashscheck.
          Könnt ihr mir nicht einach sagen, was ich an meinem script vergessen  oder falsch gemacht habe?
          Gruß

          1. Ich brauch aber ien flashscheck.

            Das solltest du in einem Flash machen, das ist sicherer und funktioniert eher.

            Könnt ihr mir nicht einach sagen, was ich an meinem script vergessen  oder falsch gemacht habe?

            Naja, das sind 150 zeilen code, die lt. deiner Aussage nur auf einer bestimmten Konstellation nicht funktionieren, ich kann das nicht testen, frag mich aber warum du nicht mit einem funktionierenden 5 Zeiligen Code auskommen möchtest?

            Struppi.

            1. weil ich gerne dazu lernen wollte, was ich falsch gemacht habe. Und es eigentlich auf dem PC ja funzt. Verstehe nur nicht wieso auf dem mac nicht!
              Aber danke für eure hilfe

              1. weil ich gerne dazu lernen wollte, was ich falsch gemacht habe. Und es eigentlich auf dem PC ja funzt. Verstehe nur nicht wieso auf dem mac nicht!
                Aber danke für eure hilfe

                Weil - vermutlich - die Methoden auf dem Mac nicht so umgesetzt wurden wie auf dem PC.
                Das Problem ist, das du für einen Flashcheck mit JS Methoden brauchst, die nur auf speziellen Browsern in speziellen Versionen mit speziellen Einstellungen  überhaupt funktionieren (was macht eigentlich Safari mit dem Skript?). Folglich solltest du lieber auf Möglichkeiten umsteigen die überall funktionieren. Dazu gehört der Flashcheck mit Flash und das img Tag innerhalb des Object/embed Tag.

                Struppi.

                1. Ok ich habe das mal gemacht, aber er zeigt das bild nicht an.
                  ??

                  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#version=5,0,0,0" width="398" height="260">
                          <param name=movie value="/img/guide/map_blau.swf">
                          <param name=quality value=high>
                          <embed src="/img/guide/map_blau.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
                    type="application/x-shockwave-flash" width="398" height="260">
                          </embed>
                    <img src="/img/guide/map.gif" HEIGHT="248" WIDTH="398">
                        </object>

                  1. Ok ich habe das mal gemacht, aber er zeigt das bild nicht an.

                    sondern?

                    ??

                    Wie gesagt, ich bin nicht der Flash crack, eher das gegenteil. Ich hatte mich halt nur gwundert über den komplexen Code, der auf ieneigen Brwosern nicht funktioniert.

                    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#version=5,0,0,0" width="398" height="260">
                            <param name=movie value="/img/guide/map_blau.swf">
                            <param name=quality value=high>
                            <embed src="/img/guide/map_blau.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
                      type="application/x-shockwave-flash" width="398" height="260">
                            </embed>
                      <img src="/img/guide/map.gif" HEIGHT="248" WIDTH="398">
                          </object>

                    Es kommt halt darauf an, was der Browser kann (du solltest das img noch in das <embed> verfrachten) was passiert. Da der IE <object> kennt sollte er entsprechende Plugin starten, evtl. kann er das aber nicht, wie man das abfängt weiss ich aber nicht.

                    Struppi.