JavaScript可以挂钩并覆盖浏览器的后退和前进按钮吗?

时间:2011-01-30 00:49:18

标签: javascript html dom

我们正在编写一个Web应用程序作为后端的控制面板,我们只使用JavaScript - 所有DOM元素都是动态创建的,根本没有静态HTML。

我们有一个模块/插件类型接口,模块是“视图”的集合 - 视图本质上是一个函数,它包含一个初始化方法,它接受一个div的arg,因此它知道在哪里绘制自己。

当用户浏览视图时,我们会保留他们去过的地方和他们所在位置的历史记录等等。因此,我们可以在视图之间提供后退/前进导航,以及在导航时保存视图的状态。 / p>

我们提供面包屑跟踪以及后退和前进按钮。我还想做的是挂钩浏览器后退/前进按钮,这样我们就可以截取点击并覆盖它,以便浏览我们正在维护的历史记录 - 当它们到达我们维护的历史记录的第一页时我们当然不会覆盖并让他们离开我们的网站。

有没有一种常见的方法可以做到这一点?或者浏览器是否明确地阻止了这种事情?

由于

1 个答案:

答案 0 :(得分:11)

使用Ben Alman的jQuery-bbq插件:http://benalman.com/projects/jquery-bbq-plugin/,它提供了一个与后退/前进按钮结合使用的hashchange交叉浏览器。