爲了模仿傳統的「後退」行爲,我附加了某些URL哈希存在的操作。捕獲散列的刪除
麻煩的是,如果你從哈希返回,哈希將從URL字符串中刪除,但JavaScript不會收到該哈希已經消失。
我該如何讓它拿起散列的去除?
爲了模仿傳統的「後退」行爲,我附加了某些URL哈希存在的操作。捕獲散列的刪除
麻煩的是,如果你從哈希返回,哈希將從URL字符串中刪除,但JavaScript不會收到該哈希已經消失。
我該如何讓它拿起散列的去除?
投票window.location.href
檢測變化的散列部。使用更改來確定需要還原的內容。看到How can I detect an address bar change with JavaScript?
檢查window.location.hash
字符串,它會回報你的網址
通常點擊先去,然後位置變化。 點擊後設置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這是一個簡單的錨點路由器。
嘗試hashchange事件('onhashchange') – noob 2012-01-17 14:11:29