在Backbone.js中组合散列和非散列URL

msg*_*gre 7 javascript shebang backbone.js

有没有办法在Backbone.js应用程序中组合散列非散列 URL?

我设置Backbone.history.start({pushState: true}).当用户点击一些链接,我取从服务器,更新页面JSON数据,并要求Backbone.history.navigate在浏览器(例如,从改变URL example.com/zlinsky/kampan/mf/example.com/moravskoslezsky/kampan/mf/).
如果用户从浏览器复制URL并在第二个选项卡中打开,他将看到相同的页面(因此每个更新的页面在服务器上都有相应的页面).这正是我想要的.

但现在我有问题......

我也有几<select>页.当用户更改其中的值时,我在页面上进行一些动态更改(不从服务器获取JSON,仅在客户端进行更新).我想根据<select>,例如更改URL example.com/moravskoslezsky/kampan/mf/#state1(因此,当有人发送此URL时,另一方将看到相同的页面,与发件人处于相同的状态).

我找不到方法,如何在Backbone.js中做到这一点.如果我pushState: true启用Backbone.history,请Router忽略哈希标记.
如果我设置pushState: false,我无法像上面第一段中描述的那样设置URL.

谢谢你的提示.

小智 2

您可以致电: Backbone.history.navigate( "/foo/bar#fragment" )

但我不认为这是一个好主意,因为 ie 不支持 Pushstate,所以主干将使用 hash bang url(在 ie 中)。

也许你可以使用querystrings:Backbone.history.navigate( "/foo/bar?foo=bar", true )这将在现代浏览器中:http://domain.tld/foo/bar?foo=bar和在ie中:http://domain.tld#/foo/bar?foo=bar