Jeśli używam:
alert(window.location.href);
Otrzymuję wszystko, w tym ciągi zapytań. Czy istnieje sposób, aby uzyskać główną część adresu URL, na przykład:
http://mysite.com/somedir/somefile/
zamiast
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
javascript
Tyler
źródło
źródło
Odpowiedzi:
Jest to możliwe, ale będziesz musiał zbudować go ręcznie z
location
obiektu :źródło
'//' + location.host + location.pathname
http://www.example.com:8080/asdf.html?foo=bar
location.origin
, co moim zdaniem rozwiązuje również problem @ izogfif.Każda odpowiedź jest dość zawiła. Tutaj:
Nawet jeśli? nie występuje, nadal zwróci pierwszy argument, którym będzie pełny adres URL pomniejszony o ciąg zapytania.
Jest również niezależny od protokołu, co oznacza, że możesz go nawet używać do rzeczy takich jak ftp, itunes.etc.
źródło
window.location.href.split(/[?#]/)[0];
Posługiwać się
indexOf
źródło
źródło
url.split('?')[0]
Możesz użyć wyrażenia regularnego:
window.location.href.match(/^[^\#\?]+/)[0]
źródło
Możesz połączyć
origin
ipathname
, jeśli istnieje port, taki jakexample.com:80
, to również zostanie uwzględnione.źródło
Jeśli spojrzysz na dokumentację , możesz pobrać tylko interesujące Cię właściwości z
window
obiektu, tjźródło