Frage Aktuelle URL in JavaScript abrufen?


Ich benutze jQuery. Wie bekomme ich den Pfad der aktuellen URL und weise sie einer Variablen zu?

Beispiel URL:

http://localhost/menuname.de?foo=bar&number=0

1581
2018-01-02 06:42


Ursprung


Antworten:


Um den Pfad zu erhalten, können Sie Folgendes verwenden:

var pathname = window.location.pathname; // Returns path only
var url      = window.location.href;     // Returns full URL

2131
2018-01-02 06:57



Im reinen jQuery-Stil:

$(location).attr('href');

Das Standortobjekt hat auch andere Eigenschaften wie Host, Hash, Protokoll und Pfadname.


778
2018-05-19 12:42



http://www.refulz.com:8082/index.php#tab2?foo=789

Property    Result
------------------------------------------
host        www.refulz.com:8082
hostname    www.refulz.com
port        8082
protocol    http:
pathname    index.php
href        http://www.refulz.com:8082/index.php#tab2
hash        #tab2
search      ?foo=789

var x = $(location).attr('<property>');

Dies funktioniert nur, wenn Sie jQuery haben. Beispielsweise:

<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js">
</script>
  $(location).attr('href');      // http://www.refulz.com:8082/index.php#tab2
  $(location).attr('pathname');  // index.php
</script>
</html>

430
2018-01-30 21:10



Wenn Sie die in der URL vorhandenen Hash-Parameter benötigen, window.location.href könnte eine bessere Wahl sein.

window.location.pathname
=> /search

window.location.href 
 => www.website.com/search#race_type=1

57
2018-05-09 16:39



Sie sollten die integrierte JavaScript-Funktion verwenden window.location Objekt.


45
2018-01-02 06:50



Fügen Sie diese Funktion einfach in JavaScript hinzu und es wird der absolute Pfad des aktuellen Pfads zurückgegeben.

function getAbsolutePath() {
    var loc = window.location;
    var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
    return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
}

Ich hoffe es funktioniert für dich.


36
2018-05-19 09:12



window.location ist ein Objekt in Javascript. Es gibt folgende Daten zurück

window.location.host          #returns host
window.location.hostname      #returns hostname
window.location.path          #return path
window.location.href          #returns full current url
window.location.port          #returns the port
window.location.protocol      #returns the protocol

In jQuery können Sie verwenden

$(location).attr('host');        #returns host
$(location).attr('hostname');    #returns hostname
$(location).attr('path');        #returns path
$(location).attr('href');        #returns href
$(location).attr('port');        #returns port
$(location).attr('protocol');    #returns protocol

29
2018-04-06 09:54



Dies ist ein komplizierteres Thema als viele vielleicht denken. Mehrere Browser unterstützen integrierte JavaScript-Standortobjekte und zugehörige Parameter / Methoden, auf die zugegriffen werden kann window.location oder document.location. Verschiedene Versionen von Internet Explorer (6,7) unterstützen diese Methoden jedoch nicht auf die gleiche Weise (window.location.href? window.location.replace() nicht unterstützt), so dass Sie auf sie anders zugreifen müssen, indem Sie ständig bedingten Code schreiben, um den Internet Explorer in der Hand zu halten.

Also, wenn Sie jQuery verfügbar und geladen haben, können Sie auch jQuery (location) verwenden, wie die anderen erwähnten, da es diese Probleme behebt. Wenn Sie jedoch beispielsweise eine clientseitige Geolocation-Umleitung über JavaScript vornehmen (dh Google Maps-API und Standortobjektmethoden verwenden), möchten Sie möglicherweise nicht die gesamte jQuery-Bibliothek laden und Ihren bedingten Code schreiben überprüft jede Version von Internet Explorer / Firefox / etc.

Internet Explorer macht die Front-End-Codierung Katze unglücklich, aber jQuery ist ein Teller mit Milch.


25
2018-01-12 20:12



Verwenden Sie für den Hostnamen nur:

window.location.hostname

24
2017-10-05 09:50