【发布时间】:2010-10-15 09:53:31
【问题描述】:
我正在使用 Ajax 和哈希进行导航。
有没有办法检查window.location.hash 是否发生了这样的变化?
http://example.com/blah#123 到 http://example.com/blah#456
如果我在文档加载时检查它,它会起作用。
但是如果我有基于#hash 的导航,当我按下浏览器上的后退按钮时它不起作用(所以我从 blah#456 跳转到 blah#123)。
它显示在地址框内,但我无法用 JavaScript 捕捉它。
【问题讨论】:
-
查看这个 jquery 插件:github.com/cowboy/jquery-hashchange
-
History.js 支持 HTML5 状态管理功能(因此您不再需要使用哈希!)并使用 hashchanges 优雅地将其降级为 HTML4 浏览器。它支持开箱即用的 jQuery、MooTools 和 Prototype。
-
@balupton,实际上我们仍然需要使用散列来向用户提供“新页面”已插入其历史记录的反馈,除非您使用 URL 更改作为反馈。
-
[Hasher]github.com/millermedeiros/hasher
-
嗯...我觉得你需要 moar jQuery
标签: javascript ajax dom-events fragment-identifier hashchange