Si yo uso:
alert(window.location.href);
Me sale todo, incluidas las cadenas de consulta. ¿Hay alguna manera de obtener la parte principal de la URL, por ejemplo:
http://mysite.com/somedir/somefile/
en vez de
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
javascript
Tyler
fuente
fuente
Respuestas:
Esto es posible, pero tendrá que construirlo manualmente desde el
location
objeto :fuente
'//' + location.host + location.pathname
http://www.example.com:8080/asdf.html?foo=bar
location.origin
, lo que creo que también aborda la preocupación de @ izogfif.Cada respuesta es bastante complicada. Aquí:
Incluso si un? no está presente, aún devolverá el primer argumento, que será su URL completa, menos la cadena de consulta.
También es independiente del protocolo, lo que significa que incluso podría usarlo para cosas como ftp, itunes.etc.
fuente
window.location.href.split(/[?#]/)[0];
Utilizar
indexOf
fuente
fuente
url.split('?')[0]
Puedes usar una expresión regular:
window.location.href.match(/^[^\#\?]+/)[0]
fuente
Puede concat
origin
ypathname
, si hay un puerto comoexample.com:80
ese, también se incluirá.fuente
Si mira la documentación , puede tomar solo las propiedades que le interesan del
window
objeto, es decirfuente