Eine SWF-Datei (.swf) betrachtet relative Pfade immer relativ zur der HTML-Datei, in der sie eingebettet ist – also nicht relativ zu seiner eigenen Position auf dem Server. Es gibt jedoch eine Ausnahme: Beim Nachladen von Videodateien (.flv) ist die ladende SWF-Datei die Referenz für relative Pfade.

Beispiel 1

Man nehme folgende Situation an, wie die Dateien eines FLV Players auf einem Server abgespeichert sind:

  • player.html
  • player.swf
  • videos/video.flv
  • videos/myplayerskin.swf

In dieser Konstellation ist alles recht einfach. Die SWF-Datei wird relativ zur HTML-Datei in den HTML-Code eingebettet, also einfach „player.swf“.

Das Skin einer FLV Playback Komponente wird ebenfalls relativ zur HTML-Seite eingebunden, also „videos/myplayerskin.swf“.

Als Pfadangabe für die Videodatei gibt man „videos/video.flv“ an. Die relative Pfadangaben muss sich auf die SWF-Datei (player.swf) beziehen. Sie ist in diesem Beispiel zufällig identisch mit dem relativen Pfad zur HTML-Datei.

Beispiel 2

Das zweite Beispiel zeigt eine andere Anordnung der Dateien auf dem Server:

  • player.html
  • videos/player.swf
  • videos/video.flv
  • videos/myplayerskin.swf

Die SWF-Datei wird relativ eingebunden („videos/player.swf“). An der Skindatei ändert sich nichts („videos/myplayerskin.swf“).

Der relative Pfad zur Videodateien muss jetzt jedoch „video.flv“ heißen (nicht „videos/video.flv“)! Die Position wird relativ zur SWF-Datei, die das Video aufruft, festgelegt.

Fazit: Nicht wirklich sinnvoll oder logisch, ist aber leider so.

Download: Beispiel (Demoprojekt als .zip)

Beispiel: Relative Pfade und flv