Se eu usar:
alert(window.location.href);
Eu recebo tudo, incluindo cadeias de consulta. Existe uma maneira de obter apenas a parte principal do URL, por exemplo:
http://mysite.com/somedir/somefile/
ao invés de
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
javascript
Tyler
fonte
fonte
Respostas:
Isso é possível, mas você precisará compilá-lo manualmente a partir do
location
objeto :fonte
'//' + location.host + location.pathname
http://www.example.com:8080/asdf.html?foo=bar
location.origin
, os quais, acredito, também abordam a preocupação de @ izogfif.Toda resposta é bastante complicada. Aqui:
Mesmo se um? não estiver presente, ele ainda retornará o primeiro argumento, que será seu URL completo, menos a string de consulta.
Também é independente de protocolo, o que significa que você pode usá-lo para coisas como ftp, itunes.etc.
fonte
window.location.href.split(/[?#]/)[0];
Usar
indexOf
fonte
fonte
url.split('?')[0]
Você pode usar uma expressão regular:
window.location.href.match(/^[^\#\?]+/)[0]
fonte
Você pode concat
origin
epathname
, se houver uma porta como essaexample.com:80
, também será incluída.fonte
Se você olhar para a documentação, poderá obter apenas do
window
objeto as propriedades das quais está interessado .fonte