window.location.href
umfasst auch den Dateinamen und das Protokoll. Versuchen Sie dies:
var relpath = window.location.pathname.replace(/\\/g,'/').split('/');
relpath.pop();// JScript: relpath.length = relpath.length - 1;
relpath = relpath.join('/') + '/';
Beachten Sie die Verwendung von /
anstelle von \
, und es ist auch praktisch, relpath
mit /
zu beenden, damit Sie es nicht zum Funktionsargument hinzufügen müssen.
BEARBEITEN
Ich bin mir nicht sicher, was Sie mit dem Erhalten des Speicherorts ohne Datei meinen, vielleicht dies (Zitat aus Windows Skripting Technologies (leider jetzt defekt):
"Der CurrentDirectory gibt einen String zurück, der den vollständigen Pfad des aktuellen Arbeitsverzeichnisses des aktiven Prozesses enthält."
Der aktive Prozess ist zum Beispiel die laufende HTA, so dass dies den lokalen Pfad der HTA-Datei (ohne Dateinamen) liefert.
currentDirectory
ist eine Eigenschaft von WScript.Shell
, so dass Sie sie in Ihrem Code mit WshShell
verwenden können, auch um das Arbeitsverzeichnis festzulegen.