是否有针对查询字符串的类似hashchange的事件?

2022-04-12 00:00:00 javascript query-string

我一直在使用散列在页面之间传递数据(如设置scrollTop()等)。还使用hashChange事件在给定页面上触发更改。

但是,哈希具有我不一定感兴趣的默认行为,例如使页面跳到给定(有时无关紧要)的位置。

我觉得获取/设置查询字符串会更符合逻辑,但是:

  1. 是吗?

  2. 设置查询字符串时是否有我可以侦听的事件?

  3. 是否有我应该了解的与查询字符串相关的行为?


解决方案

  1. 重塑锚定行为是不合逻辑的。最好不要将散列链接暴露到无关紧要的片段(尽管现代浏览器使用id对任何元素执行scrollIntoView(),但有针对<a name="xxx">的专用行为)。所以,这里的答案是肯定的,页面参数应该通过查询字符串传递。
  2. 事件为window.beforeunload,是,javascript:void(location.search='some')设置后重新加载页面
  3. 没有什么意外,有一个look

另请参阅使用查询字符串:http://xkr.us/js/querystring

相关文章