Мне нравится

http://www.mydomain.com/hello/you

С top.location.host я могу получить "http://www.mydomain.com"

С window.location.href я могу получить "http://www.mydomain.com/hello/you"

Есть шанс получить только "/hello/you" ???

9
matt 16 Июл 2010 в 05:51

2 ответа

Лучший ответ
location.pathname

pathname только вернет путь. Если вам нужны querystring и, необязательно, hash, вам также необходимо объединить свойства search и hash. Рассмотрим этот URL:

http://www.example.com/path/to/glory?key=value&world=cup#part/of/page

location.pathname => "/path/to/glory"
location.search   => "?key=value&world=cup"
location.hash     => "#part/of/page"

Если ты хочешь все,

/path/to/glory?key=value&world=cup#part/of/page

Затем просто объедините все это:

location.pathname + location.search + location.hash

Всегда хотел где-нибудь использовать with. Похоже, это прекрасная возможность :)

with(location) {
    pathname + search + hash;
}
21
Anurag 16 Июл 2010 в 02:15

Другой подход - исключить протокол и хост из всего href с помощью подстроки.

window.location.href.substring(
    (window.location.protocol+'//'+window.location.host).length
)

Если ваш URL-адрес http://google.com/test?whatever=1#hello, он вернет /test?whatever=1#hello.

0
Alex K 3 Фев 2015 в 22:53