相关疑难解决方法(0)

使用新URL更新地址栏,不使用哈希或重新加载页面

我曾经梦想过chrome(开发者频道)实现了一种通过javascript(路径,而不是域)更新地址栏的方法,而无需重新加载页面,或者他们确实已经这样做了.

但是,我找不到我认为我读过的文章.

我是疯了还是有办法做到这一点(在Chrome中)?

ps我不是在谈论window.location.hash,et al.如果上述情况存在,那么这个问题的答案将是不真实的.

javascript ajax google-chrome

614
推荐指数
4
解决办法
41万
查看次数

防止Backbone pushState上的整页重新加载

我正在尝试使用Backbone的pushState阻止整页重新加载.当我从视图的事件中调用navigate()时,我看到下面标记为// 1但不是// 2的消息.此外,当我尝试打开相同的选项卡时,页面会再次重新加载.

我必须自己停止活动吗?我尝试使用jQuery的preventDefault(),它确实阻止了页面重新加载,但我没有在任何地方看到过这种情况.

以下是我目前的代码:

App.Router = Backbone.Router.extend({
  routes:{
      "analytics":"analytics"
    , "realtime":"realtime"
  }

  , analytics:function(page) {
    console.log("analytics route hit: %o", page); // 2
  }

  , realtime:function(page) {
    console.log("realtime route hit: %o", page); // 2
  }
});

App.TabSetView = Backbone.View.extend({
  initialize:function() {
    this.collection.bind("reset", this.render, this);
    this.collection.bind("add", this.render, this);
    this.collection.bind("change", this.render, this);
    this.collection.bind("remove", this.render, this);
  }

  , events:{
      'click li.realtime a':  "onRealtime"
    , 'click li.analytics a': "onAnalytics"
  }

  , render:function() {
    // omitted for brevity
  }

  , onAnalytics:function() {
    console.log("onAnalytics"); // 1 …
Run Code Online (Sandbox Code Playgroud)

backbone.js

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

ajax ×1

backbone.js ×1

google-chrome ×1

javascript ×1