Backbone.js中的pushState是正确的吗?

时间:2012-02-01 15:34:07

标签: jquery backbone.js pushstate

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

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

起初,Backbone没有选择/ up之外的任何东西。我意识到Backbone当然会响应/#之类的东西等所以我设置了pushState:true在Backbone的历史上开始时,现在它似乎拿起并做了当用户说/或当Node.js重定向时所需要的不同的东西他们到/ blah /.

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

我基本上想要根据用户所在的页面激发不同的JavaScript。我曾经通过查找该特定页面特有的元素然后启动所需的代码来使用jQuery进行脏处理。但那很脏。这似乎适用于Backbone的路由器,只要我在历史中使用pushState:true ...但是这样对吗?

非常感谢,詹姆斯

1 个答案:

答案 0 :(得分:0)

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

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

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