2012-01-17 49 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这是一个简单的锚点路由器。