【发布时间】:2011-01-25 23:17:12
【问题描述】:
我正在开发一个网站,该网站的主要部分由 ajax 风格的导航系统驱动,使用 url 中的锚点来定义应用程序状态。
除此之外,我现在需要支持在此应用程序之上加载的 IFrame。我遇到的问题是,如果我使用片段,后退按钮会中断。
我创建了一个非常简单的sample,它没有使用任何 ajax 库。它所拥有的只是一个向 url 和 iframe 添加锚点的链接,其中包含一些普通链接。
如果我先点击然后锚链接,然后我点击 iframe 中的链接,我希望第一次返回点击返回到原始 iframe 页面,第二次点击从 url 中删除锚。
我知道那里有各种不同的解决方案(YUI、reallysimplehistory、jquery plugin),它们都工作得很好,但它们不适合 iframe。
我也知道我可以向框架页面添加一些 JS,并可能通过父页面路由所有导航,但我希望这不是必需的。
所以问题是,谁能解释这个sample 中的历史对象内部发生了什么?其次,我可以从父 iframe 做些什么来哄骗历史对象来获取这些导航条目?
注意:我只是在这个示例中询问 FF/Safari/Chrome。 IE需要单独看。
【问题讨论】:
标签: ajax iframe fragment-identifier hashchange browser-state