PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

Flash Scripte ohne Rahmen einbinden

Seit Microsoft seinen Internet-Explorer um ein Sicherheitsupdate aus SP2 bereichert hat, müssen ActiveX Objekte erst durch einen Klick aktiviert werden, bevor man sie verwenden kann. Sehr nervig bei Flash-Navigationen und anderen Spielereien.

“Klicken Sie, um das ActiveX Element zu aktivieren.”

So oder ähnlich wird man bei einem Mouse-Over über das fragliche Element aufgefordert zu klicken. Eine kleine Javascript Bibliothek namens SWFObject (vormals FlashObject) automatisiert das ganze, in dem das Flash-Movie mittels Javascript eingefügt wird.

Das Laden eines Flash-Movies klappt erfrischend gut und einfach. Zunächst muss das SWFObject-Javascript eingebunden werden. Das macht man entweder zwischen den beiden HEAD-Tags, oder im BODY unmittelbar vor der Stelle, an der das Flash erscheinen soll. Etwa so:

<script src="swfobject.js" mce_src="swfobject.js"></script>

Dann bereitet man den Platz vor, an dem das Flash angezeigt werden soll. Das ist ebenfalls sehr einfach. Man benötigt einen Container (z.B. ein DIV-Tag), der eine ID zugewiesen bekommt. Ich bevorzuge Image-Tags, die in DIVs eingeschlossen sind, denn dieser Container beinhaltet automatisch den Alternativ-Inhalt, der angezeigt wird, wenn das Flash nicht geladen werden kann.

Um also z.B. ein Standbild anzuzeigen, bevor gar nichts passiert nimmt man ein Bild, packt es in ein DIV und verpasst diesem eine ID  - etwa so:

<div id="hier"><img src="bild.jpg" mce_src="bild.jpg" /></div>

Am Ende des BODYs folgt ein kurzer Javascript-Aufruf, der das Flash läd:

<script>
  var so= new SWFObject("meinflash.swf",
    "meine_flash_id",
    "150",
    "50",
    "7",
    "#336699"
  );
  so.write("hier");
</script>

Hier passiert folgendes: Die Datei meinflash.swf wird geladen, wenn Flashplayer 7 (5. Parameter) installiert ist - andernfalls bleibt das Bild stehen. “meine_flash_id” ist die ID des im Hintergrund erzeugten OBJECT- bzw. EMBED-Parameters. Danach folgen Breite und Höhe des Flashs, die Mindest-Versionsnummer und die Hintergrundfarbe im Hex-Format.

Mit dem ersten Parameter von so.write wird das Ziel festgelegt, in welches das Flash-Objekt geladen werden soll. Das ist die ID, die wir vorhin an das DIV vergeben haben. Eigentlich wars das schon…

…aber SWF Object kann noch mehr - ein kleines Tutorial mit allen Parametern gibts auf der Projektseite, wer es lieber in Deutsch liest, dem haben die Jungs von Powerflasher die SWFObject Projektseite auf Deutsch übersetzt.

Ein paar kleine Tipps, die das Leben mit SWFObject einfacher machen, habe ich nachfolgend mal zusammengestellt:

Um ein Flash transparent einbinden, wird folgender Aufruf vor so.write gepackt:

so.addParam("wmode", "transparent");

Um Variablen an das Flash zu übergeben, wird folgender Aufruf vor so.write gepackt:

so.addVariable("name", "wert");

Um den Flashplayer automatisch zu updaten, kann das ExpressInstall Feature von Macromedia genutzt werden. Dafür muss im Flash eine Actionscript-Datei eingebunden werden, die man auf der Projektseite downloaden kann. Die Aufforderung zum Update kann komplett benutzerdefiniert verändert werden.

Übrigens gibts auch ein Plugin für Wordpress, das von Kimili bereitgestellt wird.

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Schreib Deine Meinung