2012-03-03 71 views

回答

2

没有内置的支持,如果你的应用不适合在旧版浏览器中工作,那么你可能会修改你的骨干版本。你可以只添加类似你domready中功能开始执行以下操作:

if (window.history && window.history.pushState) { 
    // main script 
} else { 
    alert("Your browser doesn't support push state and I don't want backwards compatibility"); 
    window.location('http://away.from.here'); 
} 
7

它不记录的Backbone.js的页面,但我发现它在注释的源代码。如果您通过hashChange false到Backbone.history.start(),骨干将不使用散列回退。

EG:

Backbone.history.start({hashChange:false, pushState:true}) 

有很多很好的理由来支持pushState的,而不是退回到使用散列,同时还能仍然支持旧的浏览器(该浏览器将进入新的URL并重新加载而不是用ajax更新)。