在页面更改时保留url哈希值

时间:2012-03-12 04:16:13

标签: javascript html url hash

我们在url中使用哈希来保持应用程序中的页面状态(即像焦点选项卡一样)。 Ala page.html#/tabs:foo/f-name:bar

当您在页面上提交表单时,会出现一些不一致的内容。 Chrome会使用哈希数据重新加载页面。然而,Firefox将返回到首次加载页面时的url。 (即如果您使用哈希刷新,那么哈希会覆盖表单提交)

根据规范行为,这是'正确的',我们应该如何处理它?我们希望在页面加载时保留此URL信息和页面状态。

是否有一个可以很好地处理这个问题的库,或者我应该从临时cookie中存储/恢复这些信息?

1 个答案:

答案 0 :(得分:0)

创建一个用于更改哈希的函数(而不是直接更改window.location.hash),并在该函数中循环遍历页面上的所有链接,删除旧字符串并将参数附加为新的哈希,然后使用参数更新document.location.hash。