重新加载页面时更改location.hash

时间:2014-07-10 09:07:43

标签: javascript javascript-events

我正在保留一些关于我在location.hash页面上使用的过滤器的信息,因此,如果用户向另一个用户发送链接,则应用第一个过滤器。但是,如果第一个用户刷新页面以清除location.hash并重置过滤器,我希望如此。我想到的第一件事就是清除hash unload事件,但它似乎并不像我想要的那样工作。 代码:

$(window).on('unload', function(){ window.location.hash = ''; });

按F5后清除location.hash,但随后它保持,我必须再次按F5刷新我的页面。所以我写道:

$(window).on('unload', function(){ window.location.hash = ''; window.location.reload(true); });

但它没有改变任何东西。 我也在试验onbeforeunload事件,但在其范围内我无法更改hash。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

我有类似的问题。使用超时工作了。

$(window).on('unload', function(){ 
    window.location.hash = ''; 
    setTimeout(function () { window.location.reload(true); }, 0); 
});