2012-02-01 43 views
1

我正在做一个Node.js/Backbone.js应用程序,并想知道我是否正确使用pushState。Backbone.js中的pushState是否正确?

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

起初,Backbone没有选择除/以外的任何东西。我意识到Backbone当然会响应/#等等。因此,我在启动时将BackState的历史记录设置为pushState:true,现在它似乎能够在用户说出/或Node.js重定向时执行所需的不同操作他们去/ blah /。

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

我基本上想要根据用户在哪个页面上使用不同的JavaScript解雇。我曾经通过寻找一个对特定页面唯一的元素,然后启动所需的代码来使用jQuery来做到这一点。但这很肮脏。这似乎与Backbone的路由器一起工作,只要我在历史中使用pushState:true ...但是,是吗?

非常感谢,詹姆斯

回答

0

骨干需要调用pushState的:如果你想使用它(选入的基础上)。如果浏览器不支持pushState,它将自动回退到使用URL中的#。

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

最后,您可以让Backbone在'/'上运行路线而没有任何问题。