1

我想我正试图以一种意想不到的方式使用 Backbone,但我真的找不到太多关于它的东西。基本上我有一个提供视图的 Rails 应用程序。我想保持常规导航(如页面重新加载),但让主干查看路线并在该页面上设置模板的某些部分,处理模型以及所有这些好东西。所以基本上我使用 Backbone 来处理我所有复杂的 javascript,而不是使其成为“单页应用程序”。启用 PushState 会破坏我在旧浏览器中的绝对路径吗?例如:“http://localhost:3000/projects”匹配路由“projects”。

4

1 回答 1

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">并在javascriptva4 $body = $('body'); if ($body.data('action') == 'edit' && $body.data('controller') == 'posts') {}等中检查它。

..或者您可以为每个动作/控制器对拥有单独的 js 文件,并根据需要包含它。

于 2012-04-23T07:33:21.450 回答