2013-12-13 77 views
1

使用Backbone + requireJs的简单应用程序引擎。 在ie8字符串Backbone.history.start({pushState: true});导致页面每20秒重新加载一次。没有它的应用程序不会启动。问题是什么? 下面router.js的内容:ie8中的Backbone.history.start()每20秒会导致页面重新加载

define(
[ 
    'jquery', 'underscore', 
    'backbone' 
], 
function ($, _, Backbone) { 
    var MainRouter = Backbone.Router.extend({ 
     initialize: function() { 
      var re = new RegExp("(\/)+$", "g"); 
      this.route(/(.*)\/+$/, "trailFix", function (id) { 
       // remove all trailing slashes if more than one 
       id = id.replace(re, ''); 
       this.navigate(id, true); 
      }); 
     }, 
     routes: { 
      'home': 'showMainPage' 
     }, 
     showMainPage: function (param) { 
      require([ 'views/global/main'], function (MainView) { 
       $(".navigation_item[data-type=home]").addClass("selected").on('click', function() { 
        return false; 
       }) 
       $(".p_map, .p_feed").show(); 

       new MainView(); 

      }); 
     } 
    }); 
    var initialize = function() { 
     window.mainRouter = new MainRouter(); 
     Backbone.history.start({pushState: true}); 

    }; 
    return { 
     initialize: initialize 
    }; 
}); 

回答

1

这是定为IE8

Backbone.history.loadUrl(window.location.pathname);