骨干路由 - 检测浏览器后退按钮

sam*_*one 12 javascript backbone.js

我试图找到一种方法来检测用户何时按下浏览器中的后退/前进按钮.

我使用骨干来处理路线,以及骨干来渲染我的观点.

问题是我无法从任何地方挂钩此页面更改事件.

我尝试在我的初始化函数中为我的视图添加一个日志..但是当我使用后退按钮时它没有被触发.

我真的不确定如何检测此页面更改.

amy*_*ini 10

您可以将回调绑定到Backbone route事件:

    Backbone.history.on('route', function () {
        // Do your stuff here
    });
Run Code Online (Sandbox Code Playgroud)

你可以Backbone.history.getFragment()用来知道你是站着的.


Ph0*_*n1x -2

您应该使用并确保在启动应用程序时Backbone.Router不会忘记。Backbone.history.start()

一些有用的信息可以在这里这里找到

实际上第二个链接不是文章,而是博客。写这篇文章的人似乎对这个话题确实了解很多。

UPD:这个想法是当你的 url 改变时,骨干网的路由器会触发绑定方法。因此,您只需将逻辑放入此方法中,这样您就可以跟踪它。也许这不是非常自动的方式,需要编写一些代码,但我认为它应该有效。

  • 是的,我读过。这个想法是当你的 url 改变时,骨干网的路由器会触发绑定的方法。因此,您只需将逻辑放入此方法中,这样您就可以跟踪它。也许这不是非常自动的方式,需要编写一些代码,但我认为它应该有效。 (2认同)