比如loation.href是 頁面的url .但是 location.hash可以獲取或設置頁面的 標簽值 比如http://domain/#testDemo中 咱們的location.hash 就是 #testDemo
下面引用一個 網上的demo
一個搜索版塊,功能有3個:普通搜索,高級搜索,後台管理,分別指明他們各自的hash 值:#search,#advsearch,#adminboss. 在頁面初始化的時候,通過window.location.hash來判斷用戶需要訪問的頁面,也就是將要顯示的版塊
復制代碼 代碼如下:
var hash;
hash = (!window.location.hash)?"#search":window.location.hash;
window.location.hash = hash;
//這裡我們解釋一下(!window.location.hash)什麼意思?首先如果當前頁面的地址欄的鏈接地址 不包含#....的這些的話,直接取值的話,他會為空!比如這個例子,http://www.jb51.net/直接取 alert(window.location.hash)//""空 轉化為 boolean值 為 false
// 如果 http://www.jb51.net#hello,world直接取 alert(window.location.hash)//#hello,world 轉化為 boolean值 為 true
//下面的就是 可以用switch判斷
//調整地址欄地址,使前進、後退按鈕能使用
switch(hash){
case "#search":
show("panel1");
break;
case "#advsearch":
show("panel2");
break;
case "#adminboss":
show("panel3");
break;
}
下面引用 別人的一句話:
通過window.location.hash=hash這個語句來調整地址欄的地址,使得浏覽器裡邊的“前進”、“後退”按鈕能正常使用(實質上欺騙了浏覽器)。然後再根據hash值的不同來顯示不同的面板(用戶可以收藏對應的面板了),這就使得Ajax頁面的浏覽趨於傳統化了。