Gmail似乎有一些聪明的方法来处理富JS应用程序中的后退/前进按钮。
在我的组织中,我们试用了jQuery历史插件。该插件基本上每隔100ms运行一个函数,该函数解析URL并测试它是否发生了变化。HTTP锚点跟踪历史记录,如果锚点已更改,则插件调用用户指定的回调,传入新的锚点,以便页面可以执行自定义行为以加载新内容。
我的组织确定jQuery历史插件不是产品质量。老实说,我不会责怪他们,因为你不会真的想强迫用户的浏览器每隔100ms运行一次函数。此外,这使得JS代码几乎不可能调试,因为在Firebug或类似的JS调试器中单击"Break On Next“将始终捕获jQuery历史事件