Es gibt zahlreiche Parameter, die beim Einbetten von SWF-Dateien in HTML verwendet werden können. Ein sehr hilfreicher Parameter heißt base. Er wird dann interessant, wenn im Flash-Movie relative URLs vorhanden sind.

Am einfachsten lässt sich dies an Beispielen erklären. Die folgenden Demonstrationen rufen alle die gleiche SWF-Datei auf. Diese besteht aus einer Loader-Komponente, die ein Bild laden soll. Die URL des Bild wurde einfach mit demo.png angegeben, also einem relativen Pfad.

Diese Files liegen auf dem Server:

  • http://www.video-flash.de/wp-content/uploads/2008/11/base-example01.swf
  • http://www.video-flash.de/wp-content/uploads/2008/11/demo.png
  • http://www.video-flash.de/wp-content/uploads/2008/11/sub/demo.png

Der einzige Unterschied zwischen den nachstehenden Beispiel ist einzig und allein der Base-Parameter, der beim Einbinden in HTML unterschiedlich gesetzt wird.

Beispiel 1: Relativ zur URL der HTML-Seite

Get Adobe Flash player

Definiert man gar keinen Base-Parameter, versucht der Flash Player folgendes: Er lädt die Bilddatei relativ zum Pfad der HTML-Seite, die das Flash einbindet (= URL in der Browserzeile). Da das Bild dort nicht liegt, wird gar nichts angezeigt.

Beispiel 2: Relativ zur URL der SWF-Datei

Get Adobe Flash player

Setzt man den Base-Parameter auf „.“, lädt der Flash Player die Datei relativ zum Pfad der SWF-Datei. Wie zu sehen ist, erfolgreich.

Beispiel 3: Relativ zu einem beliebigen Pfad

Get Adobe Flash player

Im dritten Beispiel verweist der Base-Parameter auf einen Unterordner und hat deshalb den Wert /wp-content/uploads/2008/11/sub. Dort liegt eine Datei mit dem gleichen Dateinamen, aber einem anderen Bildinhalt. Man kann also auch eine beliebige absolute oder relative URL angeben, von der aus die Inhalte geladen werden sollen. Dies kann auch ein fremder Server sein (Crossdomain-Probleme beachten).

Base-Parameter mit SWFObject

Um den Parameter in Kombination mit SWFObject zu verwenden, möchte ich auf das Tutorial zu SWFObject) verweisen. Dort ergänz man einfach die folgende Zeile params.base = "."; (unterhalb von salign) im dritten Codebeispiel.

Bei Yahoo gibt es übrigens auch einen Artikel zum Base-Parameter: All Your Base Are Belong To Us