1

我正在制作一个 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 ......但这对吗?

非常感谢,詹姆斯

4

1 回答 1

0

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

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

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

于 2012-02-01T17:13:25.117 回答