WaBis

walter.bislins.ch

JavaScripts: Lokalen Pfad eines Scripts ermitteln

Pfade zu Bildern, welche mit JavaScript eingebunden werden, beziehen sich auf den Pfad relativ zur HTML-Seite, nicht relativ zum JavaScript. Das Bild soll jedoch relativ zum JavaScript abgespeichert werden und zusammen mit dem Script im selben Verzeichnis installiert werden. Das Script muss dazu seinen eigenen Pfad ermitteln können.

Das folgende JavaScript ermitteln den lokalen Pfad, in dem das Script installiert ist, und speichert diesen in der globalen Variablen ScriptPath in der Form '../root/js/':

var ScriptPath = (function() {
  var scripts = document.getElementsByTagName('script'), script = scripts[scripts.length - 1];
  var path = '';
  if (script.getAttribute.length !== undefined) {
    path = script.getAttribute('src');
  } else {
    path = script.getAttribute('src', 2);
  }
  if (path) {
    path = path.substr(0,path.lastIndexOf('/')+1);
  }
  return path;
}());

Es ist wichtig, dass obiger Code in der JavaScript-Datei ausgeführt wird, denn nur so kann der aktuelle Script-Pfad abgefragt und in einer globalen Variablen gespeichert werden.

Wenn in mehreren JavaScripts der lokale Pfad zum jeweiligen Script benötigt wird, empfieht es sich, verschiedene statische Objekt-Properties dafür zu definieren:

Datei MyClass.js

MyClass.prototype.ScriptPath = (function() {
 :

Die Klasse MyClass kann dann z.B. mit folgendem Code ein Bild in die Seite einbauen:

MyClass.prototype.ShowImage( ImageName ) {
  document.writeln( '<img src=\" + MyClass.prototype.ScriptPath + ImageName + '\" alt=\"\">' );
}

Weitere Infos zur Seite
Erzeugt Dienstag, 10. Juni 2014
von wabis
Zum Seitenanfang
Geändert Montag, 23. Juni 2014
von wabis