为不更改URL哈希的页面加载启用浏览器后退/前端导航

时间:2010-02-24 05:06:35

标签: javascript jquery ajax

我有一个Ajax网站,在导航导致更改URL哈希的情况下,我将浏览器导航连接到ajax页面加载。

我想知道获取导航历史记录的最佳方法是针对不会导致哈希值更改的ajax加载。

所以,假设我有'Level 1'链接,点击后会导致URL哈希更改。类似于jquery history plugin选择并调用我的处理程序,前/后导航适用于这些“1级”链接。

但我有一组'Level 2'链接,使用'click'处理程序(内部执行一些Ajax提取)获取数据,而不是使用URL hash + history插件路由。这些当前不会导致更改URL /哈希。我希望这些“Level 2”链接启用浏览器导航。

似乎为了顺利工作,我必须更改网址,所以我的猜测是这里的任何解决方案都涉及到更多的装饰哈希。一个可能有用的解决方案,但我从来没有认真考虑过将编码我希望执行的JS函数名称和params以某种方式编码到URL哈希中,然后让我的历史加载处理程序调用该函数。布莱什!

任何人都有关于我如何做到这一点的聪明想法?

2 个答案:

答案 0 :(得分:1)

嗯...也许jQuery BBQ plugin正是你要找的?

答案 1 :(得分:0)

我为项目做的一件事就是使用这样的哈希值:

IDProduct-8185--tab-tech--g-8184

意思是有3个参数:IDProduct = 8185,tab =“tech”,g = 8184.然后,我{“1}通过” - “并循环结果数组。可能不是最优雅的解决方案,仅适用于非常简单的参数值。最好先看看Sean首先建议的BBQ插件。