Ich versuche, das aktuelle Verzeichnis der Datei in Javascript abzurufen, damit ich damit für jeden Abschnitt meiner Site eine andere Abfragefunktion auslösen kann.
if (current_directory) = "example" {
var activeicon = ".icon_one span";
};
elseif (current_directory) = "example2" {
var activeicon = ".icon_two span";
};
else {
var activeicon = ".icon_default span";
};
$(activeicon).show();
...
Irgendwelche Ideen?
javascript
jquery
user380303
quelle
quelle
loc === '/'
danndir === ''
In Node.js können Sie Folgendes verwenden:
console.log('Current directory: ' + process.cwd());
quelle
Sie können verwenden
window.location.pathname.split('/');
Dadurch wird ein Array mit allen Elementen zwischen den / 's erstellt
quelle
Dies funktioniert für tatsächliche Pfade im Dateisystem, wenn Sie nicht über die URL-Zeichenfolge sprechen.
var path = document.location.pathname; var directory = path.substring(path.indexOf('/'), path.lastIndexOf('/'));
quelle
Für beide / und \:
window.location.pathname.replace(/[^\\\/]*$/, '');
Um ohne den abschließenden Schrägstrich zurückzukehren, gehen Sie wie folgt vor:
window.location.pathname.replace(/[\\\/][^\\\/]*$/, '');
quelle
vollständige URL
Wenn Sie die vollständige URL zB wollen
http://website/basedirectory/workingdirectory/
Verwendung:var location = window.location.href; var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
lokaler Pfad
Wenn Sie den lokalen Pfad ohne Domain zB
/basedirectory/workingdirectory/
Verwendung:var location = window.location.pathname; var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
Falls Sie den Schrägstrich am Ende nicht benötigen, entfernen Sie das
+1
Nachherlocation.lastIndexOf("/")+1
.Verzeichnisname
Wenn Sie nur die aktuellen Verzeichnisnamen, in dem das Skript in, zum Beispiel läuft
workingdirectory
Einsatz:var location = window.location.pathname; var path = location.substring(0, location.lastIndexOf("/")); var directoryName = path.substring(path.lastIndexOf("/")+1);
quelle
Dieser Einzeiler funktioniert:
var currentDirectory = window.location.pathname.split('/').slice(0, -1).join('/')
quelle
Angenommen, Sie sprechen über die aktuelle URL, können Sie einen Teil der URL mithilfe von analysieren
window.location
. Siehe: http://java-programming.suite101.com/article.cfm/how_to_get_url_parts_in_javascriptquelle
window.location .pathname
quelle
Wenn Sie die vollständige URL zB wollen
website.com/workingdirectory/
Verwendung:window.location.hostname+window.location.pathname.replace(/[^\\\/]*$/, '');
quelle
Ein interessanter Ansatz, um die
dirname
aktuelle URL abzurufen, besteht darin, die integrierte Pfadauflösung Ihres Browsers zu verwenden. Sie können dies tun durch:.
aktuellen VerzeichnisHTMLAnchorElement
Schnittstelle des Links, um die aufgelöste URL oder den Pfad zu erhalten, der oder der entspricht.
.Hier ist eine Codezeile, die genau das tut:
Object.assign(document.createElement('a'), {href: '.'}).pathname
Im Gegensatz zu einigen anderen hier vorgestellten Lösungen weist das Ergebnis dieser Methode immer einen abschließenden Schrägstrich auf. Wenn Sie es beispielsweise auf dieser Seite ausführen
/questions/3151436/
, erhalten Siehttps://stackoverflow.com/
es/
.Es ist auch einfach, die vollständige URL anstelle des Pfads abzurufen. Lesen Sie einfach die
href
Eigenschaft stattpathname
.Schließlich sollte dieser Ansatz auch in den ältesten Browsern funktionieren, wenn Sie nicht verwenden
Object.assign
:function getCurrentDir () { var link = document.createElement('a'); link.href = '.'; return link.pathname; }
quelle