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

我们有一个模块/插件类型的接口(interface),一个模块是一个“ View ”的集合——一个 View 本质上是一个函数,它包含一个 initialize 方法,它接受一个 div 的 arg,所以它知道在哪里绘制自己。

当用户在 View 之间浏览时,我们会维护他们去过的位置和位置等的历史记录,因此我们可以在 View 之间提供后退/前进导航,并在导航时保存 View 的状态。

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

有没有一种通用的方法来做到这一点?或者浏览器是否明确阻止了这种事情?

谢谢

最佳答案

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

关于javascript - JavaScript 可以 Hook 和覆盖浏览器的后退和前进按钮吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4840457/

10-12 07:04
查看更多