クエリ文字列の変更に関係なく、前のページに戻ります

Aug 17 2020

検索可能なテーブルのあるページがあります。前のページに戻るための「戻る」ボタンを作成しました。

<a href="javascript:history.back()">Back</a>

たとえば、私のホームページのURLは次のとおりです。

https://xxxxxx.com

ホームページ(または他のページ)から検索可能なテーブルを使用してページに入る:

https://xxxxxx.com/data

検索を実行すると、URLは次のようになります。

https://xxxxxx.com/data?search=*sth*

「戻る」ボタンを押すと、URLは次のようになります。

https://xxxxxx.com/data

私が実際に欲しいのは:

https://xxxxxx.com/

(または、ユーザーが前にアクセスしたページ/data


検索ボタンのJavaScriptを書き直して、[戻る]ボタンで実際のページにアクセスできるようにするにはどうすればよいですか。

回答

3 MauriceNino Aug 17 2020 at 15:36

history.back()1つだけ戻るの代わりに、window.location.replace(window.location.host)ルートページをロードするを行うことができます。

詳細については、window.location以下をご覧ください。https://developer.mozilla.org/en-US/docs/Web/API/Window/location

編集:

URLパラメータを無視したい場合は、別のページへの移動方法を変更する必要があります。

バッククリックでナビゲーションを無視する必要がある場合はwindow.history.pushState(...)、の代わりに、を使用するwindow.history.replaceState(...)必要があります。

そのトピックについてもっと読むには:履歴のプッシュと置換の間のトレードオフは何ですか?