HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum |
 

 
 

Anzeige 
 
               Forum
 
 
HTMLWorld » Flash/ActionScript » Flashfilme in HTML-Dokumente einbinden

Flash/ActionScript: Flashfilme in HTML-Dokumente einbinden

von Marcus Engelhardt

Das Einbinden von Flash filmen geschieht in der Regel auf ähnliche Art und Weise wie das Einbinden beispielsweise von Java-Applets als Objekte in ein HTML-Dokument. Heute finden jedoch zwei wesentliche Methoden zur Einbettung ein Flash films in ein HTML-Dokument Verwendung.

Anzeige

Die ältere von beiden, wie sie von Flash bei der Veröffentlichung eines Flash films auch genutzt wird, stellt im Prinzip einen Kompromiss dar, welcher eingegangen werden musste, um die Einbettung des Flash films in allen Browsern zu ermöglichen, und widerstrebt - wie gleich erläutert wird - den Standardisierungsbestrebungen des W3-Konsortiums. Die andere, neuere ist zwar W3C-konform, bringt aber andere Nachteile mit sich.

Die W3C-unkonforme Möglichkeit zur Einbindung  nach oben

Wie auch in der anderen Variante wird bei dieser das <object>-Tag verwendet, welches von Internet Explorer und ähnlichen interpretiert werden kann. Zusätzlich sollte man vor dem abschließenden </object>-Tag noch das <embed>-Tag notieren, welches heute z.B. für Browser wie Netscape und netscape - nahe Browser wie Firefox immer noch notwendig ist, um eine geeignete Darstellung des Flash films im Browser zu gewährleisten. Es gehört nicht zur XHTML-Spezifikation, so dass eine entsprechende Validierung fehlschlüge. Das Tag gehört zwar ebenso wie zum Beispiel das <font>-Tag zu einer alten Ära von Netscapebefehlen, ist aber noch unverzichtbar, um beispielsweise die Kommunikation zwischen ActionScript und JavaScript im Sinne einer sogenannten LiveConnect - Schnittstelle auch in älteren Netscape - Browsern zu ermöglichen.
Ein Flash film namens test.swf könnte so wie folgt eingebunden werden:

<object ="application/x-shockwave-flash"
 classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 codebase="http://download.macromedia.com/pub/shockwave/
cabs/flash/swflash.cab#version=6,0,79,0"
 id="test" width="400" height="400">
 <param name="movie" value="test.swf">
 <param name="bgcolor" value="#FFFFFF">
 <param name="quality" value="high">
 <param name="loop" value="false">
 <param name="menu" value="false">
 <param name="swliveconnect" value="true">
 
 <embed type="application/x-shockwave-flash"
 pluginspage="http://www.macromedia.com/go/getflashplayer" name="test"
 width="400" height="400"
 src="test.swf" bgcolor="#FFFFFF" quality="high"
 loop="false" menu="false" swLiveConnect="true"></embed>
</object>

Dies stellt nur ein Codefragment für die tatsächliche Einbindung des Flash films dar. Natürlich kann außerhalb des <object>-Tags noch beliebiger weiterer HTML-Code notiert werden.
Mit dem Attribut classid (abkürzend für class identifier, zu deutsch Klassenbezeichner) des <object>-Tags wird die Identifikation der ActiveX-Steuerung referenziert. Diese setzt sich auf der Zeichenfolge clsid: und nachstehender ID zusammen und muss für Flash im genau der oben gezeigten Zeichenfolge entsprechen.
Das Attribut codebase des <object>-Tags gibt eineURLan, von welcher das Flash plugin automatisch geladen werden kann, sofern es beim Klienten für den verwendeten Browser noch nicht installiert ist. Dieser Wert gibt im Prinzip eine Pluginversion vor, welche mindestens erforderlich ist, um den Flash film abspielen zu können. Dieses Attribut ist optional, so dass bei Verzicht auf dieses ein Versionstest entfällt. Gibt man es jedoch an, muss es genau derURLzu einer verfügbaren Pluginversion entsprechen, da sonst der Download fehlschlägt.
Die Attribute width und height des <object>-Tags geben die Breite bzw. Höhe des Flash films in Pixeln oder Prozent an.
Dem Flash film können mit <param>-Tags des Weiteren noch eine Fülle von Parametern übergeben werden. Ein notwendiger ist der Parameter movie, dessen Wert (value) dieURIdes zu ladenden Flash films angibt. Außerdem wird in diesem Beispiel durch den Parameter bgcolor die im Flash film definierte Hintergrundfarbe mit dessen hexadezimalem Wert überschrieben. Mit dem Parameter loop und dessen Wert false wird zusätzlich unterdrückt, dass der Flash film wiederholt abgespielt wird. Schließlich wird mit dem Parameter namens menu und dessen Wert false noch bewirkt, dass der Klient nur ein eingeschränktes Kontextmenü des Flash players benutzen kann.
Sämtliche Einstellungen für den Flash film werden im <embed>-Tag als Attribute notiert. Die Analogien in den Bedeutungen zu den Parametern und Attributen des <object>-Tags sind leicht erkennbar und werden an dieser Stelle nicht gesondert aufgeführt. Das Attribut type des <embed>-Tags weist im Übrigen das eingebundene Multimedia-Objekt eindeutig als Flash film aus.
Die Angabe des Parameters mit dem Namen swliveconnect des <object>-Tags bzw. das Attribut swLiveConnect des <embed>-Tags ist noch bei einigen Browsern erforderlich, damit man LiveConnect potentiell verwenden kann. Das Attribut id des <object>-Tags bzw. das Attribut name von <embed> geben einen Bezeichner für den eingebetteten Film im Flash player an, mit dessen Hilfe man diesen bei einigen Browsern direkt ansprechen kann. Weitere Informationen dazu finden sich im entsprechenden Kapitel wieder.

Die W3C-konforme Möglichkeit zur Einbindung  nach oben

Es gibt wie bereits erwähnt eine neue, W3C konforme Variante, bei der auf das <embed>-Tag verzichtet werden, der Flash film jedoch in allen gängigen Browsern eingebunden werden kann. Der gleiche Flash film würde so eingebunden werden, wobei das dazugehörige HTML-Dokument dennoch validierungsfähig ist:

<object type="application/x-shockwave-flash"
 data="test.swf" id="test" width="400" height="400">
 <param name="movie" value="test.swf">
 <param name="bgcolor" value ="#FFFFFF">
 <param name="quality" value ="high">
 <param name="loop" value="false">
 <param name="menu" value="false">
 <param name="swliveconnect" value="true">
 <!-
HTML-Code für Hinweis, wenn erforderliches Plugin nicht installiert ist.
-->
</object>

Man sollte jedoch eher auf die andere Methode zurückgreifen, wenn man die Kommunikation zwischen JavaScript und ActionScript im Sinne eines LiveConnects ermöglichen möchte.

Variablen an einen eingebundenen Flashfilm übergeben  nach oben

Eine simple Möglichkeit, einem Flash film bei dessen Einbettung in ein HTML-Dokument Variablen zu übergeben, besteht darin, diese dem Standard-MIME-Format application/x-www-urlformencoded entsprechend derURIdes Flash films anzuhängen. Diese Zeichenkette muss hinter derURIim Parameter movie des <object>-Tags bzw. im Attribut src des <embed>-Tags mit vorangestelltem Fragezeichen (?) in der allgemeinen Form Variable=Wert notiert werden, wobei diese Paarungen jeweils durch ein kaufmännisches Und (&) getrennt werden. Leerzeichen müssen durch ein Pluszeichen (+) ersetzt werden. Möchte man dem oben eingebundenen Flash film die beiden Variablen var1 mit dem Stringwert String1 und var2 mit dem numerischen Wert 1 übergeben, müsste man den entsprechenden Parameter des <object>-Tags bzw. das Attribut des <embed>-Tags wie folgt modifizieren:

//Parameter von <object>
<param name="movie" value="test.swf?var1=String1&var2=1">

//Attribut von <embed>
<embend ... src="test.swf?var1=String1&var2=1" >

Der Flash player wertet diese übergebene Zeichenkette selbständig aus und erzeugt automatisch die entsprechenden Variablen mit dem Initialwert in der Zeitleiste des einzubindenden Flash films, in dem auf diese in gewohnter Form zugegriffen werden kann.



« zurück weiter »
Bewerten

 

Flash/ActionScript

.Autor:Jan Winkler.
. Bewertung:
Flash/ActionScript: Flashfilme in HTML-Dokumente einbinden HTMLWorld
(5/5 bei 1 Votes)
.
. Community: 14 Beiträge im Flash/ActionScript Forum .

Navigation


 
     
 

Anzeige