常使用window.location,它的結構總是記不住,簡單梳理下,方便以後查詢。
範例
URL:http://b.a.com:88/index.php?name=kang&when=2011#first
属性 | 含义 | 值 |
---|---|---|
protocol: | 协议 | "http:" |
hostname: | 服务器的名字 | "b.a.com" |
port: | 端口 | "88" |
pathname: | URL中主机名后的部分 | "/index.php" |
search: | "?"后的部分,又称为查询字符串 | "?name=kang&when=2011" |
hash: | 返回"#"之后的内容 | "#first" |
host: | 等于hostname port | "b.a.com:88" |
href: | 当前页面的完整URL | "http://www.a.com:88/index.php?name=kang&when=2011#first" |
window.location和document.location互相等價的,可以交換使用
location的8個屬性都是可讀寫的,但是只有href與hash的寫才有意義。例如改變location.href會重新定位到一個URL,而修改location.hash會跳到目前頁面中的anchor(或 注意
方法 location.assign( url )
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first
search:"?name=kang&how="第一個"?"之後
search:
"?name=kang&how="
第一个"?"之后
hash:
"#when=2011#first"
第一个"#"之后的内容
hash:"#when=2011#first"第一個"#"之後的內容
location.assign('http://www.baidu.com'); 等同於 window.location = 'http://www.baidu.com'
這種方式會講新位址放到瀏覽器歷史堆疊中,意味著前往新頁面後「後退按鈕」仍可以回到該頁面。
location.replace( url )
與assign方法一樣,但會從瀏覽器歷史堆疊中刪除本頁面,也就是說跳到新頁面後「後退按鈕」不能回到該頁面。目前IE、Chrome只是簡單的跳轉,只有Firefox會刪除本頁面的歷史記錄。
location.reload( force )
重新載入目前頁面。 force為true時從伺服器端重載;false則從瀏覽器快取重載,預設值false。