ユーザーがページから離れてから戻るボタンを使用して戻ってきたときに、ページにデータを復元せずにデータを復元できるように、データを永続化できるようにするために、非表示のフォームにデータを保存するというトリックを使用しています。再びサーバーにヒット...
ただし、このトリックは、ユーザーが更新または再読み込みをクリックしたときに同じことが発生することを意味します... (Firefox のシフト再読み込みでも)。ユーザーが戻るボタンをクリックするのではなく、リロードをクリックしていることを検出して、リロード時に最初からやり直すことができますが、ユーザーが移動して戻ったときに以前のデータを復元したいと考えています。
これを行う方法はありますか?onbeforeunload イベントなどを調査していますが、まだ何もわかっていません。
「なぜ?」というジョシュの質問に対処するために編集されました。
このページは、一連の AJAX フィルターを含む検索結果ページです。ユーザーは、必要な検索結果のセットだけを取得するためにフィルターを微調整するのにかなりの時間を費やす場合があります。その後、ページから離れてクリックするか、URL バーに新しいアドレスを入力すると、...このようなことをしないと、最初からやり直して、すべてのフィルタリングをやり直す必要があります。これは、ユーザビリティ テストのために参加させたユーザーにとって非常に苛立たしい経験でした。
これは、技術に精通したユーザーであれば、クリックしたり入力したりせずに新しいタブを開くだけで解決できるタイプのものですが、残念ながら大多数のユーザーは技術に精通していないため、明らかな解決策はページを元の状態に戻すことです。ユーザーがページに戻ったときのフィルター/結果。
一方、ユーザーがページをリロードする理由として考えられるのは、次の 2 つです。
- 検索ページの結果には時間に敏感な要素が含まれており、ユーザーはより最新の結果を得たいと思うかもしれません。
- ページが正しく読み込まれなかったというエラーが発生する場合があります。どちらの場合も、ページを保存された状態に復元すると、期待していた新しい/修正された結果ではなく、同じ (古いおよび/または壊れた) 結果が得られます。
それが解決することを願っています。