2012-01-17 78 views
2

爲了模仿傳統的「後退」行爲,我附加了某些URL哈希存在的操作。捕獲散列的刪除

麻煩的是,如果你從哈希返回,哈希將從URL字符串中刪除,但JavaScript不會收到該哈希已經消失。

我該如何讓它拿起散列的去除?

+0

嘗試hashchange事件('onhashchange') – noob 2012-01-17 14:11:29

回答

0

檢查window.location.hash字符串,它會回報你的網址

1

通常點擊先去,然後位置變化。 點擊後設置TimeOut 以獲得更新的window.location.hash是一個好主意,如下所示。

$(".nav").click(function(){ 
    setTimeOut(function(){ 
     updatedHash = location.hash 
    },100); 
    }); 

,或者你可以監聽與位置:

window.onhashchange = function(evt){ 
     updatedHash = "#" + evt.newURL.split("#")[1] 
    }; 

我寫了一個jQuery插件,確實像你想要做什麼。 https://github.com/rgarro/Route32這是一個簡單的錨點路由器。