保留 URL 中的哈希值在页面变化时不丢失

4
我们在url中使用哈希标记来在应用程序中保持页面状态(例如,当前选定的标签页是哪个)。比如:page.html#/tabs:foo/f-name:bar
当您提交表单时,在页面上会出现一些不一致之处。Chrome会重新加载页面并显示哈希数据。而Firefox则会返回到页面首次加载时的url。(即,如果您使用哈希进行刷新,那么哈希会继续存在于表单提交后)
根据规范,哪种行为是“正确的”,我们应该如何处理它?我们希望在页面加载时保留此url信息和页面状态。
是否有一个漂亮地处理这个问题的库,或者我应该将这些信息存储/恢复到临时cookie中?

1
似乎类似于https://dev59.com/X2435IYBdhLWcg3wrSBB。 - mspanc
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接