無限スクロールのウェブサイトを作っています。つまり、ユーザーがページの一番下までスクロールすると、コンテンツの新しいブロックが一番下に追加されます。フェイスブックとよく似ています。ロードされた 3 つのページの例を次に示します。
_________
| |
| 0 |
|_________|
| |
| 1 |
|_________|
| |
| 2 |
|_________|
ユーザーが最後のページで何かをクリックすると、別の詳細ページに移動します。しかし、ユーザーがクリックして検索結果ページに戻った場合、以前の場所の記憶がなく、ページ 0 を再度読み込む必要があります。
_________
| |
| 0 |
|_________|
これを解決するための昔ながらの方法をいくつか知っていますが、それぞれにいくつかの深刻な問題があります。
ハッシュ URL
新しいページが読み込まれるたびに URL を更新できます。例: www.website.com/page#2。ユーザーが詳細ページに移動して戻ると、URL は最後に読み込まれたページを教えてくれるので、それを読み込みます。
_________
| |
| 2 |
|_________|
しかし、これではユーザー エクスペリエンスが低下します。ページ 2 のみがロードされます。ユーザーは上にスクロールして古いコンテンツを表示することはできません。戻るボタンが Web トラフィックの 50% を占めることを考えると、ページ 0、1、2 だけをロードすることはできません (Jacob Nielsen の調査)。
ローカルストレージ
Cookie には、多くのページのデータを保存するためのストレージ容量がありません。ローカル ストレージには十分なスペースが必要です。1 つのアイデアは、読み込まれたすべてのページをローカル ストレージに保存することです。ユーザーが検索結果に戻ると、サーバーにアクセスする代わりに、ローカル ストレージから読み込みます。このアプローチの問題は、ユーザーの大部分がローカル ストレージ(IE7) をサポートしていないブラウザーを使用していることです。