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)
[ad name=“default-ad“]
Beispiel: Relative Pfade und flv