web-dev-qa-db-ja.com

ユーザーが検索ページに戻ったときに検索条件/フィルターを維持/保持するための最良の方法は?

サイトに基本的な「検索」ページがあり、ユーザーがフィルターやキーワードを入力できるとしましょう。次に、結果のリストが表示され、ユーザーは結果をクリックして、その1つのアイテムに関する「詳細」ページに移動できます。 (例:自動車販売店の車両、不動産会社の住宅、法律または医療行為の従業員)。

ユーザーが検索ページに戻るときに(ブラウザーの「戻る」ボタンを押すか、詳細ページの「結果に戻る」リンクをクリックして)、ユーザーが入力した検索基準を再入力したい。

私の質問は、さまざまな実装のUXトレードオフについてです。過去には、次の2つの方法のいずれかでこれを実行しました。

  1. セッションに検索条件を保存し、検索ページが表示されたときにセッションを読み取る
  2. hTML5 pushStateを使用して(古いブラウザーとの互換性のためにhistory.jsのようなポリフィルと共に)、新しい検索条件とフィルターの組み合わせをそれぞれURLクエリ文字列に書き込みます(そのため、ユーザーがブラウザーの[戻る]ボタンをクリックすると検索結果が再表示されます)。また、検索条件を「詳細」ページに渡します(そのため、これらのページの「検索に戻る」リンクは、同じ条件/フィルターを使用して検索ページにリンクして戻ることができます)。

ソリューション#1で発生する問題は、ユーザーがCookieを無効にしていると機能しないことです。また、場合によっては過度に攻撃的になることもあります。たとえば、ユーザーが1日後に検索ページに戻ってきた場合、おそらくdo新しい条件とフィルターで新しい検索を開始したいと思います(昨日と同じ基準が表示されるだけではありません)。私が頻繁に使用するいくつかのフォーラムWebサイトでこれに遭遇しました-メインページにアクセスしましたが、既にフォーラムの投稿が制限されており、以前に行った検索に基づいて限られた量で表示されます(ただし、これを忘れてしまいます)混乱した)。

ソリューション#2で遭遇する問題は、実装するのに多くの作業が必要なことです。また、ユーザーがサイトの別のページ(検索ページへのナビゲーションリンクのURLクエリ文字列に以前の検索条件が埋め込まれていない場所)をクリックすると、条件は失われます。

だから...何かアイデアは?人々は一般的にこのパターンをどのように実装しますか?上記の2以外の方法はありますか?または、おそらく私は間違った木を吠えているので、これを行うべきではありませんか?

2
Jordan Lev

UXの観点からすると、ユーザーは通常、検索ページに戻った場合にもう一度検索したいと考えています。

この場合、Googleのアプローチと同様に、3つのステップがある方がよいでしょうか。検索>結果>詳細。詳細ページから戻ると、再び検索結果に移動します。再び戻ると、新しい検索が表示されます。 URLに検索クエリを配置できるため、これも実装が簡単です。検索が再度行われることを許可しますが、検索が十分に効率的であれば、それはパフォーマンスの問題にはなりません。

さらに、URLパラメータから結果ページに関連するフィルタをロードできます。

これが役に立てば幸い!

3
Greg Wiley

クエリ1は、保存したCookieを有効期限切れに設定することで解決できます(必要な場合)。

多くの場合、Cookieの受信者は、Cookieの理由、つまり「検索を容易にする」などを知らせることで安心できます。

過去にこの状況に対処した方法は、画面にタブを配置することでしたが、この状況では、右下に固定することが望まれましたが、ユーザーとユーザーに応じて、自分の最適な場所を調査する必要があります地点。

ユーザーが検索すると、検索と条件がリストに追加され、タブをクリックして表示されます。最後の20は、さらに検索が実行されると、最も古いドロップオフで保存され、保存された各検索の横にある単純なスターにより、ユーザーがそれを「保存」すると、その検索がリストから外れることはありません。

リストには検索語と任意の基準が表示され、それをクリックするとすぐにその検索が実行されます。 「保存された」検索として、これらのタイプの検索はその場所からすでに実行されているため、リストに追加されません。

0
DarrylGodden