Domanda Ottieni l'URL corrente in JavaScript?


Sto usando jQuery. Come posso ottenere il percorso dell'URL corrente e assegnarlo a una variabile?

URL di esempio:

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

1581
2018-01-02 06:42


origine


risposte:


Per ottenere il percorso, puoi utilizzare:

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

2130
2018-01-02 06:57



In puro stile jQuery:

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

L'oggetto posizione ha anche altre proprietà, come host, hash, protocollo e percorso.


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

Funzionerà solo se hai jQuery. Per esempio:

<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



Se hai bisogno dei parametri hash presenti nell'URL, window.location.href potrebbe essere una scelta migliore

window.location.pathname
=> /search

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

57
2018-05-09 16:39



Ti consigliamo di utilizzare il built-in di JavaScript window.location oggetto.


45
2018-01-02 06:50



Basta aggiungere questa funzione in JavaScript e restituirà il percorso assoluto del percorso corrente.

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

Spero che funzioni per te.


36
2018-05-19 09:12



window.location è un oggetto in javascript. restituisce i seguenti dati

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 puoi usare

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



Questa è una questione più complicata di quanto molti possano pensare. Diversi browser supportano oggetti di posizione JavaScript e parametri / metodi associati accessibili tramite window.location o document.location. Tuttavia, diversi tipi di Internet Explorer (6,7) non supportano questi metodi allo stesso modo, (window.location.href? window.location.replace() non supportato), quindi è necessario accedervi in ​​modo diverso scrivendo il codice condizionale tutto il tempo per tenere in mano Internet Explorer.

Quindi, se hai jQuery disponibile e caricato, potresti anche usare jQuery (posizione), come menzionato dagli altri perché risolve questi problemi. Se tuttavia, per esempio, stai eseguendo il reindirizzamento della geolocalizzazione lato client tramite JavaScript (ovvero utilizzando l'API di Google Maps e i metodi dell'oggetto posizione), potresti non voler caricare l'intera libreria jQuery e scrivere il codice condizionale che controlla ogni versione di Internet Explorer / Firefox / ecc.

Internet Explorer rende infelice la codifica del front-end, ma jQuery è un piatto di latte.


25
2018-01-12 20:12



Solo per il nome host, utilizzare:

window.location.hostname

24
2017-10-05 09:50



Questo funzionerà anche:

var currentURL = window.location.href;

19
2017-07-26 06:14