Ich möchte nur die URL der Website erhalten. Nicht die URL eines Links. Beim Laden der Seite muss ich in der Lage sein, die vollständige, aktuelle URL der Website abzurufen und als Variable festzulegen, die ich nach Belieben verwenden kann.
Ich möchte nur die URL der Website erhalten. Nicht die URL eines Links. Beim Laden der Seite muss ich in der Lage sein, die vollständige, aktuelle URL der Website abzurufen und als Variable festzulegen, die ich nach Belieben verwenden kann.
Antworten:
Verwenden:
window.location.href
Wie in den Kommentaren erwähnt, funktioniert die folgende Zeile, ist jedoch für Firefox fehlerhaft.
document.URL;
document.URL
Eigenschaft nach a nicht window.location
auf einen Anker (#) aktualisiert , während dies der window.location.href
Fall ist. Ich habe hier eine Live-Demo zusammengestellt: jsfiddle.net/PxgKy Ich habe keine anderen Versionen von Firefox getestet. In document.URL
Chrome 20 und IE9 wurden keine Probleme bei der Verwendung gefunden.
window.location.host
undwindow.location.href.toString().split(window.location.host)[1]
document.baseURI
dann? Grundsätzlich gibt es drei Möglichkeiten , um url document.baseURI
, document.URL
& location
.
name="URL"
wird diese Eigenschaft auf dem document
Objekt schattiert und Ihr Code wird unterbrochen. In diesem Fall document.URL
wird stattdessen auf den DOM-Knoten verwiesen. Verwenden Sie besser die Eigenschaften des globalen Objekts wie in window.location.href
.
URL-Info-Zugriff
JavaScript bietet Ihnen viele Methoden zum Abrufen und Ändern der aktuellen URL, 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 ein neues Location
Objekt mit der aktuellen URL wie folgt erstellen :
var currentLocation = window.location;
Grundlegende URL-Struktur
<protocol>//<hostname>:<port>/<pathname><search><hash>
Protokoll: Gibt den Protokollnamen an, mit dem auf die Ressource im Internet zugegriffen werden soll. (HTTP (ohne SSL) oder HTTPS (mit SSL))
Hostname: Der Hostname gibt den Host an, dem die Ressource gehört. 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 auf einem Server ankommt.
Pfadname: Der Pfad enthält Informationen zu der spezifischen Ressource innerhalb des Hosts, auf die der Webclient zugreifen möchte. Zum Beispiel /index.html
.
Suche: Eine Abfragezeichenfolge folgt der Pfadkomponente und stellt eine Informationszeichenfolge bereit, die die Ressource für einen bestimmten Zweck verwenden kann (z. B. als Parameter für eine Suche oder als zu verarbeitende Daten).
Hash: Der Ankerteil einer URL enthält das Hash-Zeichen (#).
Mit diesen Location
Objekteigenschaften können Sie auf alle diese URL-Komponenten zugreifen und was sie festlegen oder zurückgeben können:
Ich hoffe du hast deine Antwort bekommen ..
window.location
, sondern Eigenschaften, und hier haben wir ein Beispiel : var stringPathName = window.location.pathname
.
substring
. Es kann jedoch nützlich sein, wenn Sie umleiten möchten, um zur document.location = "/page.html";
page.html
search
, aber in der Liste der Beschreibungen unten heißt es a query
. Vielleicht können sie entweder miteinander in Einklang gebracht oder weitere Erklärungen hinzugefügt werden.
Verwenden Sie diese Option window.location
für den Lese- und Schreibzugriff auf das Standortobjekt, das dem aktuellen Frame zugeordnet ist. Wenn Sie die Adresse nur als schreibgeschützte Zeichenfolge abrufen möchten, können Sie sie verwenden document.URL
, die denselben Wert wie enthalten sollte window.location.href
.
Ruft die aktuelle Seiten-URL ab:
window.location.href
document
ist das Stammverzeichnis des durch die Spezifikation definierten Dokumentbaums. window
ist im Allgemeinen gleichwertig, kann aber unter bestimmten Umständen nicht der Fall sein.
OK, das Abrufen der vollständigen URL der aktuellen Seite ist mit reinem JavaScript einfach. Versuchen Sie beispielsweise 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
window.location.href
Eigenschaft 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>
Nur nicht schlecht, um auch 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 verwenden window.location.hostname
;
und wenn Sie das Protokoll separat erhalten müssen, verwenden Sie window.location.protocol
hash
Tag hat, können Sie es wie folgt erhalten : window.location.hash
.Also window.location.href
alles auf einmal erledigen ... im Grunde:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Auch die Verwendung window
ist nicht erforderlich, wenn bereits im Fensterbereich ...
In diesem Fall können Sie also Folgendes verwenden:
location.protocol
location.hostname
location.pathname
location.hash
location.href
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 URL
Sie können den aktuellen URL-Speicherort mit einem Hash-Tag abrufen, indem Sie Folgendes verwenden:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Der obige Code kann auch jemandem helfen
http://www.server.com/path/to/Script.php?option=A1B2C3
, wenn das Dateisystem zwischen Groß- und Kleinschreibung unterscheidet (Linux / Unix), müssen Script.php und script.php nicht unbedingt identisch sein. Und selbst wenn nicht zwischen Groß- und Kleinschreibung unterschieden wird (Windows, einige Mac-Betriebssysteme), ?option=A1B2C3
ist dies nicht dasselbe ?option=a1b2c3
oder sogar dasselbe ?Option=A1B2C3
. Nur der Server unterscheidet nicht zwischen Groß- und Kleinschreibung: www.server.com oder www.SeRvEr.cOm sind identisch.
Ergebnis zum schnellen Nachschlagen hinzufügen
window.location;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "/programming/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
"/programming/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
Für eine vollständige URL mit Abfragezeichenfolgen:
document.location.toString().toLowerCase();
Für die Host-URL:
window.location
In jstl können wir mit auf den aktuellen URL-Pfad zugreifen pageContext.request.contextPath
. Wenn Sie einen Ajax-Anruf tätigen möchten, verwenden Sie die folgende URL.
url = "${pageContext.request.contextPath}" + "/controller/path"
Beispiel: Für die Seite wird http://stackoverflow.com/posts/36577223
dies geben http://stackoverflow.com/controller/path
.
Der Weg, um das aktuelle Standortobjekt zu erhalten, ist window.location
.
Vergleichen Sie dies mit document.location
, das ursprünglich nur die aktuelle URL als Zeichenfolge zurückgegeben hat. Wahrscheinlich um Verwirrung zu vermeiden, document.location
wurde durch ersetzt document.URL
.
Und alle modernen Browser Karte document.location
zu window.location
.
In Wirklichkeit sollten Sie aus Gründen der browserübergreifenden Sicherheit window.location
eher als verwenden document.location
.
Für diejenigen, die ein tatsächliches URL-Objekt wünschen, möglicherweise für ein Dienstprogramm, das URLs als Argument verwendet:
const url = new URL(window.location.href)
Die Antwort von Nikhil Agrawal ist großartig. Fügen Sie hier nur ein kleines Beispiel hinzu, das Sie in der Konsole ausführen können, um die verschiedenen Komponenten in Aktion zu sehen:
Wenn Sie möchten, dass die Basis-URL ohne Pfad- oder Abfrageparameter (z. B. um AJAX-Anforderungen für die Arbeit auf Entwicklungs- / Staging- UND Produktionsservern auszuführen), window.location.origin
ist dies am besten, da das Protokoll sowie der optionale Port beibehalten werden (in der Django-Entwicklung manchmal) einen nicht standardmäßigen Port haben, der ihn kaputt macht, wenn Sie nur den Hostnamen usw. verwenden.)
Sie können den vollständigen Link der aktuellen Seite über abrufen location.href
und den Link des aktuellen Controllers abrufen, indem Sie Folgendes verwenden:
location.href.substring(0, location.href.lastIndexOf('/'));
Abrufen der aktuellen URL mit JavaScript:
window.location.toString ();
window.location.href
Wenn Sie auf einen bestimmten Link mit einer ID verweisen, kann Ihnen dieser Code helfen.
$(".disapprove").click(function(){
var id = $(this).attr("id");
$.ajax({
url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
type: "post",
success:function()
{
alert("The Request has been Disapproved");
window.location.replace("http://localhost/sample/page/"+id+"");
}
});
});
Ich verwende Ajax hier, um eine ID einzureichen und die Seite mit window.location.replace umzuleiten . Fügen Sie einfach ein Attribut id=""
wie angegeben hinzu.
Überprüfen Sie zunächst, ob die Seite vollständig geladen ist
browser,window.location.toString();
window.location.href
Rufen Sie dann eine Funktion auf, die URL, URL-Variable und Druck auf der Konsole verwendet.
$(window).load(function(){
var url = window.location.href.toString();
var URL = document.URL;
var wayThreeUsingJQuery = $(location).attr('href');
console.log(url);
console.log(URL);
console.log(wayThreeUsingJQuery );
});