Vraag Krijg de huidige URL in JavaScript?


Ik gebruik jQuery. Hoe krijg ik het pad van de huidige URL en wijs ik het toe aan een variabele?

Voorbeeld-URL:

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

1581
2018-01-02 06:42


oorsprong


antwoorden:


Om het pad te krijgen, kunt u het volgende gebruiken:

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

2131
2018-01-02 06:57



In pure jQuery-stijl:

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

Het locatieobject heeft ook andere eigenschappen, zoals host, hash, protocol en padnaam.


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>');

Dit werkt alleen als je jQuery hebt. Bijvoorbeeld:

<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



Als u de hash-parameters in de URL nodig hebt, window.location.href kan een betere keuze zijn.

window.location.pathname
=> /search

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

57
2018-05-09 16:39



U wilt de ingebouwde versie van JavaScript gebruiken window.location voorwerp.


45
2018-01-02 06:50



Voeg deze functie toe aan JavaScript en het absolute pad van het huidige pad wordt weergegeven.

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));
}

Ik hoop dat het voor je werkt.


36
2018-05-19 09:12



window.location is een object in javascript. het geeft de volgende gegevens terug

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 die u kunt gebruiken

$(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



Dit is een gecompliceerder probleem dan velen denken. Verschillende browsers ondersteunen ingebouwde JavaScript-locatieobjecten en bijbehorende parameters / methoden die toegankelijk zijn via window.location of document.location. Verschillende smaken van Internet Explorer (6,7) ondersteunen deze methoden echter niet op dezelfde manier, (window.location.href? window.location.replace() niet ondersteund), dus u moet ze anders benaderen door altijd voorwaardelijke code te schrijven om Internet Explorer in de wacht te houden.

Dus als je jQuery beschikbaar en geladen hebt, kun je net zo goed jQuery (locatie) gebruiken, zoals de anderen al zeiden omdat het deze problemen oplost. Als u echter - bijvoorbeeld - een aantal geolocatieomleiding aan de kant van de klant uitvoert via JavaScript (dat wil zeggen, met behulp van de Google Maps API en locatieobjectmethoden), wilt u misschien niet de hele jQuery-bibliotheek laden en uw voorwaardelijke code schrijven die controleert elke versie van Internet Explorer / Firefox / enz.

Internet Explorer maakt de codeerkat aan de voorkant ongelukkig, maar jQuery is een bord met melk.


25
2018-01-12 20:12



Gebruik alleen voor de hostnaam:

window.location.hostname

24
2017-10-05 09:50



Dit werkt ook:

var currentURL = window.location.href;

19
2017-07-26 06:14