我想我试图以一种无意的方式使用Backbone,而我真的找不到它。基本上我有一个Rails应用程序正在提供视图。我想保持常规导航(如在页面重新加载中),但让骨干看到路线并在该页面上设置模板的某些部分,处理模型以及所有这些好东西。所以基本上我使用Backbone来处理我所有复杂的javascript,而不是使它成为“单页应用程序”。启用PushState会破坏我在旧浏览器中的绝对路径吗?例如:“http:// localhost:3000 / projects”匹配路线“projects”。
答案 0 :(得分: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文件,并按需包含它。