巧妙管理浏览器历史记录的方法

And*_*rea 5 javascript ajax browser-history

我正在尝试在AJAX应用程序中实现一个不错的导航.我现在正在做的是以下内容:

  • 每次用户单击AJAX链接时,都会执行相应的调用并更改散列.
  • 每当加载新页面时,我都会检查是否存在哈希并进行相应的AJAX调用以更新页面.这可确保书签按预期工作.
  • 每隔500毫秒,我检查一下哈希是否被更改并执行相应的AJAX调用.这会照顾用户按下后退/前进按钮,尽管有一个延迟.

第三点有点烦人:我宁愿每隔500毫秒没有超时检查哈希值,因为大部分时间它都会保持不变.

有没有更好的方法来管理这个?我想不出任何其他选择,但也许我错过了一些东西.

请不要指出我现成的解决方案,除非你知道它们是基于不同的机制.

Nat*_*nes 5

有一个"hashchange"事件,它将在HTML5中实现.我不确定现在有多好的支持...... IE8支持它,我认为Mozilla在最近的版本中有自己的实现.除此之外,没有什么我害怕的.检查exery x ms是每个人都这样做的方式.