【问题标题】:Is pushState in Backbone.js the right thing for this?Backbone.js 中的 pushState 是正确的吗?
【发布时间】:2012-02-01 15:34:06
【问题描述】:

我正在制作一个 Node.js/Backbone.js 应用程序,想知道我是否正确使用了 pushState。

我的应用程序从 http://localhost:8888/ 开始。我希望 Backbone 的路由器能够接收并在索引处执行某些操作。例如,在我的应用程序中,用户上传一个文件,然后 Node.js 将用户重定向到http://localhost:8888/blah/。在这一点上,我希望 Backbone 的路由器选择那个 URL 并做一些事情。

一开始,Backbone 只选择了 / up 以外的任何东西。我意识到 Backbone 当然会响应 /#something 等。所以我在启动时在 Backbone 的历史记录上设置了 pushState:true,现在它似乎在用户说 / 或 Node.js 重定向时拾取并执行所需的不同事情他们到/blah/。

对吗?如果有效,保留它?

我基本上希望根据用户所在的页面触发不同的 JavaScript。我过去常常用 jQuery 来做这件事,方法是找到该特定页面独有的元素,然后启动所需的代码。但这很脏。这似乎适用于 Backbone 的路由器,只要我在历史记录中使用 pushState:true ......但是对吗?

非常感谢,詹姆斯

【问题讨论】:

    标签: jquery backbone.js pushstate


    【解决方案1】:

    如果您想使用 Backbone,您需要调用 pushState:true(选择加入)。如果浏览器不支持 pushState,它将自动回退到使用 URL 中的 #。

    关于路由器的yoru描述,听起来是正确的。请记住,不看代码就很难完全了解。

    最后,您可以让 Backbone 在 '/' 上运行路由而不会出现任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      相关资源
      最近更新 更多