0

ドメイン変数を変更 (または、まだ設定されていない場合は設定) して、ページをリロードできるようにする必要があります。ページがリロードされなくてもかまいません。実際にはリロードする必要があります。

たとえば、ユーザーが次のページにいる場合: sample.com/demo?theme=theme1 で、ドロップダウンから新しいテーマを選択した場合、テーマ変数を変更して、ブラウザを新しいドメイン変数と同じページにナビゲートしたいので、この場合、sample.com/demo?theme=newtheme.

変数を変更するだけで、現在のページにとどまってほしいので、標準のリダイレクトを行うことはできません。たとえば、それらがここにある場合:sample.com/demo/aboutus?theme=theme1次に、ここに送信されます:sample.com/demo/aboutus?theme=newtheme

4

2 に答える 2

1

単純な正規表現は次のようになります。

window.location = window.location.url.replace(/(\?|&)theme=[^&]+/, '$1theme=newtheme');
于 2013-02-15T16:33:26.983 に答える
-1

アンカータグを相対的にするだけです:

<a href="?theme=theme1">Theme 1</a>
<a href="?theme=theme2">Theme 2</a>
<a href="?theme=theme3">Theme 3</a>

唯一の欠点は、それが問題である場合でも、現在のクエリ文字列が新しいものに完全に置き換えられることです。

もちろん、これは JavaScript でも実行できます。

window.location = "?theme=theme1";
//window.location = "?theme=theme2";
//window.location = "?theme=theme3";
于 2013-02-15T16:36:48.877 に答える