Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Backbone.js中组合哈希和非哈希URL_Javascript_Backbone.js_Shebang - Fatal编程技术网

Javascript 在Backbone.js中组合哈希和非哈希URL

Javascript 在Backbone.js中组合哈希和非哈希URL,javascript,backbone.js,shebang,Javascript,Backbone.js,Shebang,有没有办法在Backbone.js应用程序中组合散列和非散列URL 我设置了Backbone.history.start({pushState:true})。当用户单击某个链接时,我从服务器获取JSON数据,更新页面,并调用Backbone.history.navigate将浏览器中的URL从(例如从example.com/zlinsky/kampan/mf/更改为example.com/moravskoslezky/kampan/mf/)。 若用户从浏览器复制URL并在第二个选项卡中打开,他将

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

我设置了
Backbone.history.start({pushState:true})
。当用户单击某个链接时,我从服务器获取JSON数据,更新页面,并调用
Backbone.history.navigate
将浏览器中的URL从(例如从
example.com/zlinsky/kampan/mf/
更改为
example.com/moravskoslezky/kampan/mf/
)。
若用户从浏览器复制URL并在第二个选项卡中打开,他将看到相同的页面(所以以这种方式更新的每个页面在服务器上都有相应的页面)。这正是我想要的

但现在我有问题了

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

我找不到方法,如何在Backbone.js中实现它。如果我在
Backbone.history
上设置
pushState:true
Router
忽略散列标签。
如果我设置了
pushState:false
,我就不能像上面第一段所描述的那样设置URL

谢谢您的提示。

您可以拨打:
Backbone.history.navigate(“/foo/bar#fragment”)

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


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

您能解决这个问题吗?我面临着完全相同的问题。当pushState为true时,我无法路由包含哈希部分的URL;哈希完全被忽略了。