JS aktuellen Pfad auslesen?

crochunter

eifriger Paparazzo
ID: 68721
L
12 Februar 2007
581
47
Hallo!

ich arbeite an der erweiterung eines freeware Gallieriescriptes. Dafür möchte ich gerne lightbox benutzen welches ich im html stammverzeichniss ablege und in der Gallerie eintrage.
Im moment funktioniert alles ohne probleme, es sei denn ich ändere den pfad zum lightbox zb domain.de/files/lightbox/
Jetzt wird zwar lightbox immer noch aufgerufen, aber es erkennt selber nicht mehr die Dateien im Unterordner ligntbox/images/
wie kann ich diese Pfade dynamisch gestalten oder im js direkt auslesen,sodass lightbox immer weiß wo die icons liegen?
dies sind die 2 Zeilen die im moment den pfad angeben:

var fileLoadingImage = "../../../lightbox/images/loading.gif";
var fileBottomNavCloseImage = "../../..lightbox/images/closelabel.gif";

ich hoffe jemand kann mir helfen!
 
Zuletzt bearbeitet:
Mmh. Also da Javascript nicht auf dem Server, sonder im Browser des Nutzers ausgeführt wird, kann JavaScript den Pfad zu Lightbox nicht selber rausbekommen. Du bräuchtest dazu eine serverseitige Programmiersprache (z.B. PHP). Da könntest du es folgendermaßen machen:

  • Du erstellst eine PHP-Datei (z.B. lb_pfad.php) im Wurzelverzeichnis. In diese schreibst du folgendes rein:
    PHP:
    <?php
    $fileLoadingImage = "../../../lightbox/images/loading.gif";
    $fileBottomNavCloseImage = "../../..lightbox/images/closelabel.gif";
    ?>
    Hier werden aber keine Pfade sondern direkte Dateien genutzt. Wenn es mehr Dateien sind, dann macht es sinn Pfad und Dateiname zu trennen.
  • Jetzt muss die aufrufende Datei auch dynamisch generiert werden. Sie muss also auch die Endung .php bekommen (wenn sie sie noch nicht hat).
  • Jetzt schreibst du relativ am Anfang der Datei
    PHP:
    <?php require("lb_pfad.php");
    ?>
    Dadurch wird die oben erstelle Datei geladen und die Werte stehen zur Verfügung.
  • Jetzt musst du noch den Javascript-Code so ändern, dass die PHP-Werte genutzt werden:
    PHP:
    var fileLoadingImage = "<?php echo($fileLoadingImage); ?>";
    var fileBottomNavCloseImage = "<?php echo($fileBottomNavCloseImage); ?>";
Das ganze mußt du natürlich für alle Dateien machen, die auf Lightbox zugreifen (bzw. diesen JavaScript-Code nutzen). Dabei ist der erste Schritt aber einmalig. Wenn sich jetzt das Verzeichnis ändert, dann mußt du nur in der ersten Datei (lb_pfad.php) die Sachen anpassen.

Das ganze ist nicht getestet, also keine Garantie :p