我正在使用HTML5的History API(通过History.js)来动态重写URL。我希望它们是以下格式:
http://www.example.com/example/article/page
其中'article'和'page'均由History API设置。
但是,这并没有按预期工作,因为History.js提供的pushState
或replaceState
似乎只适用于最后一个斜杠之后的URL部分。< / p>
一个简单示例:如果我在http://www.example.com/example/
并且pushState('Article-Title/1')
,则网址变为http://www.example.com/example/Article-Title/1
。现在我可以使用pushState('2')
更改页码,但我无法更改Article-Title
部分,这就是我所追求的。 Ben Lupton example中使用的window.location.href
可以更改网址,但也会导致“硬”重定向。
我认为这种约束是为了防止XSS;然而,它让我很烦恼。有合理的方法吗?
答案 0 :(得分:3)
找到它:我正在推送的URL必须以正斜杠开头。这就是全部。
答案 1 :(得分:0)
您还可以使用相对网址:../../Another-Section/1