私の Web サイトには、ディープリンクを使用する AJAX を利用した検索機能があります。ユーザーがリンクをたどると…</p>
http://example.com/articles#/?tags=Mac%20OS,review
… タグ「Mac OS」と「レビュー」は検索フォームで既に選択されている必要があり、「Mac OS」と「レビュー」に関連する記事がページに表示されます。
次のシナリオがありますが、修正する必要があります
- ユーザーはリンクhttp://example.com/articles#/?tags=Mac%20OSをたどります
- 最初のページのレンダリング中に、すべての記事が取得されます
- クライアント側では、ハッシュ部分が解析され、「Mac OS」関連の記事のみが AJAX 経由でリクエストされます。
- クライアントは「Mac OS」記事を受け取り、ステップ 2 で取得したすべての記事を置き換えます。また、検索フォームで選択された「Mac OS」タグをマークします。
ここでの問題は、記事のレンダリングが重複していることです。これは、ユーザーにとって非常に悪いように見えます。彼はすべての記事を見て、数秒後に「Mac OS」の記事に置き換えられます。
次のシナリオが必要です。
- ユーザーはリンクhttp://example.com/articles#/?tags=Mac%20OSをたどります
- サーバーはハッシュ部分を解析し、「Mac OS」関連の記事を返します
- クライアントは、「Mac OS」の記事が既に存在し、何もしないことを理解しています。「Mac OS」タグが選択済みとしてマークされるだけです。
これを行うには、リクエスト文字列のハッシュ部分を取得する必要があります。
/?tags=Mac%20OS
AJAX とディープリンクを使用しているため、? の後にリクエスト パラメータを使用できません。?-part を使用すると、ブラウザーは強制的にページをリロードします。ページをリロードせずに何かをする必要があります。
あなたが助けていただければ幸いです。
ありがとう。