捕获哈希的删除

时间:2012-01-17 14:07:59

标签: javascript hash

我已经为URL哈希的存在附加了某些操作,以模仿传统的“后退”行为。

问题是,如果你从散列中返回,则会从URL字符串中删除散列,但 JavaScript 不会接收该散列已经消失。

如何让它获取哈希的删除?

3 个答案:

答案 0 :(得分: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这是一个简单的锚路由器。

答案 1 :(得分:0)

检查window.location.hash字符串,它将返回您网址的哈希部分

答案 2 :(得分:0)

轮询window.location.href以检测更改。使用更改来确定需要还原的内容。见How can I detect an address bar change with JavaScript?