我正在保留一些关于我在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
。有人可以帮我这个吗?
答案 0 :(得分:1)
我有类似的问题。使用超时工作了。
$(window).on('unload', function(){
window.location.hash = '';
setTimeout(function () { window.location.reload(true); }, 0);
});