location是javascript裏面管理地址欄的內置對象.javascript
好比loation.href是 頁面的url .可是 location.hash能夠獲取或設置頁面的 標籤值 好比http://domain/#testDemo中 我們的location.hash 就是 #testDemo
下面引用一個 網上的demo
一個搜索版塊,功能有3個:普通搜索,高級搜索,後臺管理,分別指明他們各自的hash 值:#search,#advsearch,#adminboss. 在頁面初始化的時候,經過window.location.hash來判斷用戶須要訪問的頁面,也就是將要顯示的版塊 java
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頁面的瀏覽趨於傳統化了。瀏覽器