MyDomain.com に 2 つのページがあります。MyDomain.com/ および MyDomain.com/Foo/Bar から表示されるインデックス ビュー。各ビューには他のビューへの ajax 呼び出しがあり、それぞれが HTML5 History API を使用して状態をプッシュします。
問題を作成する手順があります。
- MyDomain.com/ から開始します (期待どおりに動作します)。
- MyDomain.com/Foo/Bar/ への ajax リンクをクリックします (期待どおりに動作します)。
- MyDomain.com/ への ajax リンクをクリックします (期待どおりに動作します)。
- MyDomain.com/Foo/Bar/ への ajax リンクをクリックします。
URL は MyDomain.com/ Foo/Foo /Bar/のように表示されます。
Foo Foo Bar は要りません。
私の現在の回避策は、URL の先頭に「../../../」を追加することですが、これは洗練されておらず、絶対確実ではありません。もう 1 つのオプションは、ディレクトリ レベルをカウントするための正規表現です。
History API で絶対 URL を取得するより良い方法はありますか?
function push(updateElementID, controller, action, url)
{
if (typeof url == "undefined")
{
url = "/" + controller + "/" + action;
}
var state = {
id: updateElementID,
controller: controller,
action: action
}
history.pushState(state, null, url);
}