2012-04-23 50 views
1

我想我试图以无意的方式使用Backbone,并且我无法真正找到它。基本上我有一个Rails应用程序提供意见。我想保持常规导航(如页面重新加载),但让骨干看到路线并在该页面上设置模板的某些部分,处理模型以及所有这些好东西。所以基本上我使用Backbone来处理我所有复杂的JavaScript,而没有将它变成一个“单页面应用程序”。启用PushState会在旧浏览器中打破我的绝对路径吗?例如:匹配路线“项目”的“http:// localhost:3000/projects”。没有哈希的主干?

回答

0

pushState的不会在旧的浏览器,如IE6的工作,但你可以使用不同的技术,例如,你可以使用jQuery选择并检查您是否是在特定页面上:

if ($('#login-page').length > 0) { 
    // we're on the login page 
    // ..initialize login page related backbone collections and views 
} 

..或者你可以在HTML中使用的数据属性某处存储动作/控制器名称:<body data-action="edit" data-controller="post">并检查它在JavaScript va4 $body = $('body'); if ($body.data('action') == 'edit' && $body.data('controller') == 'posts') {}

..或者你可以为每个动作/控制器对单独的js文件,包括它的需求。