骨干路由器 - IE的后备

时间:2014-05-26 11:54:53

标签: javascript internet-explorer backbone.js backbone-routing html5-history

对于IE,版本低于10,我做了一个后备,所以路由器不使用pushState,而是使用hashchange。 路由器的初始化方法如下所示:

initialize: function(){
   var self = this;
   Backbone.history = Backbone.history || new Backbone.History({});
   var root = "/";

   Backbone.history.start({
    pushState: Modernizr.history,
    root: root,
    silent: !Modernizr.history
   }); 

   // handle history for old internet explorer
   if(!Modernizr.history) {
    var rootLength = Backbone.history.options.root.length;
    var fragment = window.location.pathname.substr(rootLength) || 'cs';
    self.navigate(fragment, { trigger: true });
   }
  }

像这样路由器在旧IE和现代浏览器中都能正常工作,但在IE中,如果原始URL看起来像这样 - > http://example.com/lang/page,然后路由器导航到http://example.com/lang/page#lang/page。是否可以在第一次加载时导航到http://example.com#lang/page,如果它是如何实现的?非常感谢你的回答!

0 个答案:

没有答案