JavaScript能钩住并覆盖浏览器的后退和前进按钮吗?

JavaScript能钩住并覆盖浏览器的后退和前进按钮吗?,javascript,html,dom,Javascript,Html,Dom,我们正在编写一个web应用程序作为后端的控制面板,我们只使用JavaScript—所有DOM元素都是动态创建的,根本没有静态HTML 我们有一个模块/插件类型的接口,模块是“视图”的集合-视图本质上是一个包含初始化方法的函数,该方法接受div的arg,因此它知道在哪里绘制自己 当用户在视图之间浏览时,我们会维护他们去过的地方以及他们在哪里等的历史记录。因此,我们可以在视图之间提供向后/向前导航,并在视图导航时保存视图的状态 我们提供面包屑路径以及后退和前进按钮。我还想做的是钩住浏览器的后退/前进

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

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

当用户在视图之间浏览时,我们会维护他们去过的地方以及他们在哪里等的历史记录。因此,我们可以在视图之间提供向后/向前导航,并在视图导航时保存视图的状态

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

有没有一个共同的方法来做到这一点?还是浏览器明确阻止了这类事情


感谢使用Ben Alman伟大的jQuery bbq插件:它提供了一个hashchange跨浏览器,可与后退/前进按钮结合使用。

inb4“哦,这太可怕了,不要这样做”可能是重复:一个替代解决方案是使用
元素。可悲的是,这不是答案;我认为只有Opera和Firefox(带有插件)支持这一功能。这里有没有足够大的人记得swfaddress?=)我讨厌网站覆盖后退按钮。