21 Jan 2008
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.
Man nehme folgende Situation an, wie die Dateien eines FLV Players auf einem Server abgespeichert sind:
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.
Das zweite Beispiel zeigt eine andere Anordnung der Dateien auf dem Server:
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
Schreibe einen Kommentar