たとえばhistory.pushState({}, "", link);
myが関数で変更されているリンクがある場合、リンク全体を変更する代わりにwith関数を変更する方法はありますか?link
page.php?value=1&value2=2
value2
pushState()
質問する
18195 次
3 に答える
5
履歴オブジェクトにエントリを追加せずに URL を変更しようとしている場合は、 を試すことができますreplaceState
。
history.replaceState({value: 1, value2: X}, "title", "page.php");
于 2012-05-02T21:17:22.410 に答える
2
この便利な関数を使用して、クエリ文字列パラメーターの値を変更できます。
function updateParam(url, param, value)
{
var re = new RegExp(param+"(.+?)(&|$)","g");
return url.replace(re, param+'='+value)
}
于 2012-05-02T20:35:15.357 に答える
2
いいえ、クエリ文字列は URL の一部であるためです。サーバーのためにこれらの値を渡す必要が本当にない場合は、それらを履歴の状態オブジェクト自体に含めることができます。その後、状態オブジェクトだけを で変更できますpushState()
。例えば:
history.pushState({value: 1, value2: 2}, "Title", 'page.php');
history.pushState({value: 1, value2: 'new value'}, "Title");
于 2012-05-02T20:25:20.690 に答える