Die aktuelle URL mit JavaScript abrufen?
Alles, was ich möchte, ist die URL der Website zu erhalten. Nicht die URL, die von einem Link genommen wurde. Beim Laden der Seite muss ich in der Lage sein, die vollständige, aktuelle URL der Website zu erfassen und sie als Variable festzulegen, um damit zu tun, was ich möchte.
Antwort #1
Verwenden :
window.location.href
Wie in den Kommentaren erwähnt, funktioniert die folgende Zeile, aber sie ist in Firefox fehlerhaft.
document.URL
Siehe URL vom Typ DOMString, schreibgeschützt.
Antwort #2
URL-Infozugriff
JavaScript bietet Ihnen viele Methoden, um die aktuelle URL abzurufen und zu ändern, die in der Adressleiste des Browsers angezeigt wird. Alle diese Methoden verwenden das Location-Objekt, das eine Eigenschaft des Window-Objekts ist. Sie können das aktuelle Location-Objekt lesen, indem Sie window.location auslesen:
let currentLocation = window.location;
Grundlegende URL-Struktur
<protocol>//<hostname>:<port>/<pathname><search><hash>
Protokoll: Gibt den Namen des Protokolls an, das verwendet werden soll, um auf die Ressource im Internet zuzugreifen. (HTTP (ohne SSL) oder HTTPS (mit SSL))
hostname: Der Hostname gibt den Host an, der die Ressource besitzt. Zum Beispiel
www.stackoverflow.com. Ein Server stellt Dienste unter Verwendung des Hostnamens bereit.Port: Eine Portnummer, die verwendet wird, um einen bestimmten Prozess zu erkennen, an den eine Internet- oder andere Netzwerknachricht weitergeleitet werden soll, wenn sie bei einem Server ankommt.
Pfadname: Der Pfad gibt Informationen über die spezifische Ressource innerhalb des Hosts, auf die der Webclient zugreifen möchte. Zum Beispiel
/index.html.Suche: Ein Abfrage-String folgt dem Pfadbestandteil und liefert eine Zeichenfolge von Informationen, die die Ressource für einen bestimmten Zweck nutzen kann (zum Beispiel als Parameter für eine Suche oder als zu verarbeitende Daten).
Hash: Der Ankerteil einer URL, einschließlich des Hash-Zeichens (#).
Mit diesen Location-Objekteigenschaften können Sie auf all diese URL-Komponenten zugreifen und was sie setzen oder zurückgeben können:
- href - die vollständige URL - z. B.
window.location.href - Protokoll - das Protokoll der URL
- host - der Hostname und der Port der URL
- hostname - der Hostname der URL
- Port - die Portnummer, die der Server für die URL verwendet
- pathname - der Pfadname der URL
- search - der Abfrageabschnitt der URL
- hash - der Ankerteil der URL
- Ursprung - das
window.location.protocol + '//' + window.location.host
Antwort #3
Verwenden Sie window.location, um Lese- und Schreibzugriff auf das Standortobjekt zu erhalten, das mit dem aktuellen Frame verbunden ist. Wenn Sie nur die Adresse als schreibgeschützte Zeichenfolge erhalten möchten, können Sie document.URL verwenden, das denselben Wert wie window.location.href enthalten sollte.
Antwort #4
Ruft die aktuelle Seiten-URL ab:
window.location.href
Antwort #5
OK, die volle URL der aktuellen Seite mit reinem JavaScript zu bekommen ist einfach. Zum Beispiel, probiere diesen Code auf dieser Seite:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
Die Eigenschaft window.location.href gibt die URL der aktuellen Seite zurück.
document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;<!DOCTYPE html>
<html>
<body>
<h2>JavaScript</h2>
<h3>The window.location.href</h3>
<p id="root"></p>
</body>
</html>Es ist auch nicht schlecht, diese zu erwähnen:
Wenn Sie einen relativen Pfad benötigen, verwenden Sie einfach
window.location.pathname;Wenn Sie den Hostnamen erhalten möchten, können Sie
window.location.hostnameverwenden;und wenn Sie das Protokoll separat abrufen müssen, verwenden Sie
window.location.protocolalso, wenn deine Seite einen
hash-Tag hat, kannst du ihn so bekommen:window.location.hash.
Also window.location.href erledigt alles auf einmal... im Grunde:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Die Verwendung von window ist also nicht erforderlich, wenn man sich bereits im Window-Bereich befindet...
Also kannst du in diesem Fall verwenden:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Antwort #6
Öffnen Sie die Entwicklertools, geben Sie Folgendes in die Konsole ein und drücken Sie Enter.
window.location
Beispiel: Unten ist der Screenshot des Ergebnisses auf der aktuellen Seite.
Antwort #7
Um den Pfad zu erhalten, können Sie Folgendes verwenden:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URLAntwort #8
Verwendung: window.location.href.
Wie oben erwähnt, document.URL aktualisiert sich nicht, wenn window.location aktualisiert wird. Siehe MDN.
Antwort #9
Um den Pfad zu erhalten, können Sie Folgendes verwenden:
http://www.example.com:8082/index.php#tab2?foo=789
Property Result
------------------------------------------
window.location.host www.example.com:8082
window.location.hostname www.example.com
window.location.port 8082
window.location.protocol http:
window.location.pathname index.php
window.location.href http://www.example.com:8082/index.php#tab2
window.location.hash #tab2
window.location.search ?foo=789
window.location.origin https://example.com
Antwort #10
- Verwende
window.location.href, um die vollständige URL zu erhalten. - Verwenden Sie
window.location.pathname, um die URL ohne den Host zu erhalten.
Antwort #11
// http://127.0.0.1:8000/projects/page/2?name=jake&age=34
let url = new URL(window.location.href);
/*
hash: ""
host: "127.0.0.1:8000"
hostname: "127.0.0.1"
href: "http://127.0.0.1:8000/projects/page/2?username=jake&age=34"
origin: "http://127.0.0.1:8000"
password: ""
pathname: "/projects/page/2"
port: "8000"
protocol: "http:"
search: "?name=jake&age=34"
username: ""
*/
url.searchParams.get('name')
// jake
url.searchParams.get('age')
// 34
url.searchParams.get('gender')
// null
Antwort #12
Sie können die aktuelle URL-Adresse mit einem Hash-Tag erhalten, indem Sie Folgendes verwenden:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery:
$(location).attr('href');
Antwort #13
Für die vollständige URL mit Abfragezeichenfolgen:
document.location.toString()
Für Host-URL:
window.location
Antwort #14
window.location:
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
dokument.standort:
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
window.location.pathname:
"/questions/1034621/get-the-current-url-with-javascript"
window.location.href:
"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"
location.hostname:
"stackoverflow.com"
Antwort #15
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Antwort #16
Die Antwort von Nikhil Agrawal ist großartig, ich füge hier nur ein kleines Beispiel hinzu, das du in der Konsole ausprobieren kannst, um die verschiedenen Komponenten in Aktion zu sehen:
Wenn Sie die Basis-URL ohne Pfad oder Abfrageparameter möchten (zum Beispiel, um AJAX-Anfragen zu stellen, die sowohl auf Entwicklungs-/Staging- als auch auf Produktionsservern funktionieren), ist window.location.origin am besten, da es sowohl das Protokoll als auch den optionalen Port beibehält (in der Django-Entwicklung hat man manchmal einen nicht standardmäßigen Port, der es kaputt macht, wenn man nur den Hostnamen usw. verwendet).



