2

URL を動的に書き換えるために、HTML5 の History API (History.js 経由) を使用しています。次の形式にしたいと思います。

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

ここで、「記事」と「ページ」の両方が History API によって設定されます。

pushStateただし、 History.js によって提供されるorreplaceStateは、最後のスラッシュの後の URL の部分でのみ機能するように見えるため、これは期待どおりには機能しません。

簡単な例:にいてhttp://www.example.com/example/を行うpushState('Article-Title/1')と、URL は になりhttp://www.example.com/example/Article-Title/1ます。でページ番号を変更できるようになりましたが、パーツpushState('2')を変更する方法がありません。これが私が求めているものです。Ben Lupton ので使用されている は、URL を変更できますが、「ハード」リダイレクトも引き起こします。Article-Titlewindow.location.href

この制約は、XSS を防ぐために設定されていると思います。しかし、それは私を大いに悩ませます。それを回避する合理的な方法はありますか?

4

2 に答える 2

3

見つかりました:私がプッシュしているURLは、スラッシュで始まる必要があります。必要なのはそれだけです。

于 2012-01-24T14:12:35.567 に答える