|
|||
URL/Pfad von .js-Datei ermitteln
Hallo,
ich frage mich eben, ob es nicht eine Lösung für dieses Problem gibt, das ich bislang immer umständlichst umgangen habe: Eine HTML-Seite bindet ein Script ein: <SCRIPT type="text/javascript" src="../javascript/dasScript.js"></SCRIPT> Die URL der html-Datei ist http://domain/Ordner/html/dieSeite.html. Demnach ist die URL des Scriptes http://domain/Ordner/javascript/dasScript.js Wie kann also eine Funktion in der dasScript.js diese letztere URL herausfinden? Meine einzige Idee ist es, alle <SCRIPT>-Elemente der Seite zu durchsuchen und anhand des Namens der Datei (dasScript.js) den richtigen (relativen) Pfad zu finden. Aber das ist nicht wirklich handlich, schlägt feht, wenn jemand das Script umbenennt und man müsste den (relativen) Pfad, den man herausbekommt, umständlichst mit dem der html-Seite kombinieren, damit es funktioniert... Geändert von MitjaStachowiak (30.10.2013 um 12:11 Uhr) |
Sponsored Links |
Sponsored Links |
|
|||
Aha, die Funktion zu starten, während das Script lädt, ist echt clever. So weiß man, dass das letzte <SCRIPT> im Dokument das richtige ist und das Script muss seinen eigenen Namen nicht kennen.
Ich nehme aber an, dass man so nur ein solches Script einbauen kann, da sonst die Variable path wieder und wieder überschrieben wird. Außerdem stelle ich gerade fest, dass man mit scriptElement.src automatisch den absoluten Pfad bekommt. Ich habe eben mit getAttribute('src') und meiner absolutePath(rel,abs)-Funktion gearbeitet, die einen relativen und einen absoluten Pfad erwartet und den relativen Pfad in einen absoluten verwandelt. Aber die ist ziemlich komplex... Für das Problem mit dem Variablennamen sehe ich jetzt keine Lösung. Ich denke, ich mache das so: var ScriptPath_hduAIGFJdaaDGh = document.getElementsByTagName('script')[document.getElementsByTagName('script').length-1].src; Den Namen der Variablen ScriptPath_*** muss man wohl oder übel für jedes Script ändern... Oder gibt es da doch einen Trick? Auf jeden Fall Danke |
|
||||
Zitat:
Zitat:
Zitat:
|
|
|||
Nunja, ich möchte natürlich nicht, dass, wenn jemand zwei Script einbaut, die zufälliger Weise beide die gleiche Variable nutzen, dadurch ein Fehler kommt. Mit dem zufälligen Nahmen ist dieses Problem minimiert.
Dass man bei Scripts direkt .src verwenden kann, wusste ich bislang nicht. Ich hatte nämlich mal mit script.src = 'neuesScript.js' experimentiert. Das funktioniert nur im Internetexplorer. Aber das auslesen der src geht eben überall, deswegen kann man sich die komplizierte Interpretation von getAttribute('src') sparen. |
|
||||
Zitat:
Nein, das funktioniert auch in allen anderen Browsern. |
|
|||
Und wie kann man das in dem Fall kapseln? Wie bekomme ich eine Funktion, die später aufgerufen wird, dazu, einen Wert auszugeben, der beim Laden des Scriptes bestimmt werden muss, wenn man diesen nicht in einer globalen Variablen speichert??
und ich habe es eben noch mal getestet: mit .src kann man (außer im IE) kein neues Script laden. Man kann es nur auslesen. Geändert von MitjaStachowiak (31.10.2013 um 12:17 Uhr) |
|
||||
Zitat:
Ach du meinst bei einem bestehendem Skriptelement. Ja das schenit nicht zu funktionieren - üblich ist es mit createElement ein neues Script Element zu erzeugen, da geht das laden des Skripts auch mit .src |
Stichwörter |
.js pfad, findbin findscript, relativer pfad von .js, url des scriptes |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Server Externe .js Datei aufrufen. | xXNemesisXx | Javascript & Ajax | 10 | 16.07.2009 17:05 |
Frage : Tempöräre Datei | tichy | Serveradministration und serverseitige Scripte | 3 | 16.06.2009 13:52 |
html Befehle in einer txt Datei? | Magellan | (X)HTML | 19 | 05.06.2008 19:39 |
.js Datei von einer Webgalerie ändern | Lili0312 | Javascript & Ajax | 5 | 23.08.2006 14:53 |
[php/http] datei an client senden | Xenon | Serveradministration und serverseitige Scripte | 13 | 21.03.2005 21:54 |