Javascript:获取window.location除主机外的一切?

时间:2010-07-16 01:51:19

标签: javascript

我喜欢

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

top.location.host,我可以获得"http://www.mydomain.com"

window.location.href我可以获得"http://www.mydomain.com/hello/you"

是否有机会获得"/hello/you" ???

2 个答案:

答案 0 :(得分:20)

location.pathname

pathname只会 返回路径。如果您需要querystring和可选hash,则还需要合并searchhash属性。考虑一下这个网址:

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;
}

答案 1 :(得分:0)

另一种方法是使用子字符串从整个href中排除协议和主机。

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

如果您的网址为http://google.com/test?whatever=1#hello,则会返回/test?whatever=1#hello