如何禁用backbone.js在对话框关闭时添加/#

How to disable backbone.js from adding /# when dialog is closed

本文关键字:添加 对话框 何禁用 backbone js      更新时间:2023-09-26

当我加载我的主干页面,并按下返回按钮,它添加/#到url。如果我再次单击返回,它将从rails主视图加载空索引页。我可以通过关闭涡轮链接来解决这个问题。

然而,当我打开任何foundation.js对话框时,它也将相同的/#附加到url。现在,当我点击返回而不是进入前一页时,它再次加载空rails主页,而不是加载主干页。

我怎样才能阻止backbone添加这个/# hash。

我的rails索引页是:

<div class="containing_div"><div>
<%= javascript_tag do -%>
    (function () {
       MyApp.initialize();
    })();
<% end -%>

初始化函数是:

  initialize: function(){
    this.private.biography = new MyApp.Models.BiographyModel();
    this.private.purposeModel = new MyApp.Models.PurposeModel();
    new MyApp.Routers.Welcome();
    if(!Backbone.History.started){
     Backbone.history.start();
    }
    this.initializeData();
  }

和我的路由器是:

MyApp.Routers.Welcome = Support.SwappingRouter.extend({
    initialize: function(options){
        this.el = $('div.containing_div');
    },
    routes: {
        "": "index"
    },
    index: function(){
        var view = new MyApp.Views.WelcomeIndex();
        this.swap(view);
    }
})

这是我关闭modal的方式:

$('#profileModal').foundation('reveal', 'close', {
    animation: 'none'
});

我猜,为了打开/关闭模式,你正在使用,这是默认的浏览器行为切换到/#。你要么应该使用常规的(顺便说一句。