2

我正在使用 HTML5 的 History API(通过 History.js)来动态重写 URL。我希望它们采用以下格式:

http://www.example.com/example/article/page

其中“文章”和“页面”均由 History API 设置。

但是,这并不像预期的那样工作,因为 History.js 提供的pushStateorreplaceState似乎只适用于最后一个斜杠之后的 URL 部分。

一个简单的例子:如果我在http://www.example.com/example/并且做pushState('Article-Title/1'),则 url 变为http://www.example.com/example/Article-Title/1. 现在我可以用 更改页码pushState('2'),但我无法更改Article-Title部分,这就是我所追求的。window.location.href,在 Ben Lupton 的示例中使用,可以更改 URL,但它也会导致“硬”重定向。

我想这个约束是为了防止 XSS;但是,这让我很困扰。有没有合理的解决方法?

4

2 回答 2

3

找到它:我推送的 URL 必须以正斜杠开头。这就是它所需要的。

于 2012-01-24T14:12:35.567 回答
0

您还可以使用相对 URLS:../../Another-Section/1

于 2015-10-28T02:15:54.487 回答