Flowi81: film mit AC_RunActiveContent.js von adobe funzt nicht

hallo, ich habe einen flashfilm mit js eingebettet, damit das mit den activexsteuerelementen übergangen wird und
der user nicht erst mit einem klick "erlauben" muss, das der film abgespielt wird.
Aber der film läuft nicht. im ie7 sieht man ein weißes rechteck wo der film sein
soll und im ff gar nichts. was ist hier falsch???

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="logobild"><img src="bilder/head_schiene.jpg" />
          <script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0',
'width','345','height','250','src','movies/schiene.swf','quality','high','pluginspage',
'http://www.macromedia.com/go/getflashplayer','movie','movies/schiene.swf' ); //end AC code
              </script>
              <noscript>
              <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="345" height="250">
                <param name="movie" value="movies/schiene.swf">
                <param name="quality" value="high">
                <embed src="movies/schiene.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="345" height="250"></embed>
              </object>
              </noscript>
 </div><!--hier geht das logobild zu-->
</body>
</html>

die AC_RunActiveContent.js - datei habe ich so gelassen.

Quelle: http://www.adobe.com/devnet/activecontent/articles/devletter.html

  1. das Script macht doch eigentlich nichts anderes, als genau das, was du in den noscript-Bereich geschrieben hast, davor nochmals zu schreiben.

    Eigentlich müsste also

      
    <div id="logobild"><img src="bilder/head_schiene.jpg" />  
    <script type="text/javascript">  
    document.write(document.getElementById("logobild").getElementsByTagName("noscript")[0].innerHTML)  
    </script>  
    <noscript>  
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"  
    width="345" height="250">  
     <param name="movie" value="movies/schiene.swf">  
     <param name="quality" value="high">  
     <embed src="movies/schiene.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="345" height="250"></embed>  
    </object>  
    </noscript>  
    </div>  
    
    

    den gleichen Zweck erfüllen

    1. Moin Moin!

      das Script macht doch eigentlich nichts anderes, als genau das, was du in den noscript-Bereich geschrieben hast, davor nochmals zu schreiben.

      Eigentlich müsste also
      [...]
      den gleichen Zweck erfüllen

      Und wenn das so ist, kann man sich das gesamte Javascript und die Noscript-Tags stumpf schenken.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      1. Moin Moin!

        dito

        Und wenn das so ist, kann man sich das gesamte Javascript und die Noscript-Tags stumpf schenken.

        nicht ganz, denn durch die JavaScript-Einbindung soll erreicht werden, dass im IE das eingebundene object nicht erst von Hand aktiviert werden muss. Wobei ich dir aber insofern Recht geben muss: wer den IE nutzt muss mit dessen Eigenwilligkeiten leben lernen.

        Nachtrag zu meinem Posting: es wäre sinnvoller den script- und noscript-Bereich zu vertauschen, da der script-Bereich sonst auf ein Objekt zugreifen will, den noscript-Bereich nämlich, das der Browser noch gar nicht kennt. Noch besser wäre es natürlich das JavaScript hier ganz rauszunehmen und es stattdessen in eine Funktion zu packen, und diese per window.onload aufzurufen:

        <script type="text/javascript">

        function zeigsmir() {  
        var lb=document.getElementById("logobild");  
        if (lb) {  
         var nos=lb.getElementsByTagName("noscript")[0];  
         if (nos) lb.innerHTML+=nos.innerHTML;  
         }  
        }  
        window.onload=zeigsmir;
        

        </script>

        das HTML verkürzt sich auf:

        <div id="logobild"><img src="bilder/head_schiene.jpg" alt="hier fehlt übrigens bislang das alt-Attribut" />  
        <noscript>  
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"  
        width="345" height="250">  
         <param name="movie" value="movies/schiene.swf">  
         <param name="quality" value="high">  
         <embed src="movies/schiene.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="345" height="250"></embed>  
        </object>  
        </noscript>  
        </div>