是否有像查询字符串的hashchange这样的事件?

Isa*_*bow 8 javascript query-string

我一直在使用哈希在页面之间传递数据(比如设置scrollTop()等),并且还使用hashChange事件来触发给定页面上的更改.

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

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

  1. 是吗?

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

  3. 我应该知道与查询字符串相关的行为吗?

Fre*_*ing 1

  1. 重新发明锚定行为是不合逻辑的。最好不要将哈希链接暴露给无关紧要的片段(尽管现代浏览器scrollIntoView()对带有 的任何元素都这样做id,但有专门的行为<a name="xxx">)。所以,这里的答案是肯定的,页面参数应该通过查询字符串传递。
  2. 事件是window.beforeunload,是的,页面重新加载javascript:void(location.search='some')设置
  3. 没什么惊喜,看看

另外,关于使用查询字符串:http://xkr.us/js/querystring