Webseiten-URL ohne Dateinamen mit JavaScript erhalten

Über window.location.href erhält man mit JavaScript die Adresse der aufgerufenen Webseite (z.B. http://localhost:8080/webpage/index.html). Möchte man aber nur den Pfad (z.B. http://localhost:8080/webpage/) haben, kann man folgenden Code einsetzen:

1
2
3
// Given: http://localhost:8080/webpage/index.html
// Output: http://localhost:8080/webpage/
var path = window.location.href.match(/^(http.+\/)[^\/]+$/)[1];

Die vorgestellte Methode hat noch einen Schwachpunkt. Führt man den Code nämlich über „http://localhost:8080/webpage/“ und nicht über „http://localhost:8080/webpage/index.html“ aus, so funktioniert der verwendete reguläre Ausdruck nicht wie gewünscht. Das lässt sich aber mit dem bedingten (ternären) Operator beheben:

1
2
3
// Given: http://localhost:8080/webpage/ OR http://localhost:8080/webpage/index.html
// Output: http://localhost:8080/webpage/
var path = ((window.location.href.match(/^(http.+\/)[^\/]+$/) != null) ? window.location.href.match(/^(http.+\/)[^\/]+$/)[1] : window.location);

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.