示例
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(<a id="name">或者<div id="id">等)名字的標記(如果有),而且頁面不會被重新加載
注意
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first
search: | "?name=kang&how=" | 第一個"?"之后 |
hash: | "#when=2011#first" | 第一個"#"之后的內容 |
search:"?name=kang&how="第一個"?"之后
hash:"#when=2011#first"第一個"#"之后的內容
方法
location.assign( url )
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。