Если я использую:
alert(window.location.href);
Я получаю все, включая строки запроса. Есть ли способ просто получить основную часть URL, например:
http://mysite.com/somedir/somefile/
вместо того
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
javascript
Тайлер
источник
источник
Ответы:
Это возможно, но вам придется построить его вручную из
location
объекта :источник
'//' + location.host + location.pathname
http://www.example.com:8080/asdf.html?foo=bar
location.origin
, которые, как мне кажется, также решают проблему @ izogfif.Каждый ответ довольно запутанный. Вот:
Даже если? отсутствует, он по-прежнему будет возвращать первый аргумент, который будет вашим полным URL, за исключением строки запроса.
Это также не зависит от протокола, то есть вы даже можете использовать его для таких вещей, как ftp, itunes.etc.
источник
window.location.href.split(/[?#]/)[0];
использование
indexOf
источник
источник
url.split('?')[0]
Вы можете использовать регулярное выражение:
window.location.href.match(/^[^\#\?]+/)[0]
источник
Вы можете присоединиться,
origin
иpathname
, если есть порт, такой какexample.com:80
, он также будет включен.источник
Если вы посмотрите на документацию, вы можете взять только интересующие вас свойства из
window
объекта, т.е.источник