web-dev-qa-db-ja.com

小さなUIユーザー設定をWebアプリに保存する最良の方法は?

私は開発中のWebアプリを持っており、ユーザーがUIのビューに変更を加えた場合(リストのオープンまたはクローズ、特定の表示設定など)、ブラウザーを閉じてWebにアクセスした後もそれらの変更が残るという考えが非常に気に入っています。後日アプリ。

私が考えることができる可能なオプション:

  1. UI設定JSONオブジェクトをCookieに保存します。
  2. HTML5ローカルストレージを使用(これまでの経験なし)
  3. MySQLデータベースに格納する(DBにそのような些細なデータを格納することに熱心ではありません)

保存したら、ユーザーが戻ったときにこれらの設定を取得し、最後に離れたときのUIを設定します。

このタイプの機能の経験があり、UI状態の保存と取得に最適な方法を提案できる人はいますか?

34
wilsonpage

非常に小さい場合は、UI設定のjsonオブジェクトを独自のデータベースに保存する必要があります。

これにより、キャッシュクリアランスやローカルストレージがサポートされていないブラウザーなど、ユーザー側の問題が減ります。

また、ユーザーがさまざまなコンピューターやブラウザーでUI設定を使用できるようになります。

33
bhagyas

HTML5ローカルストレージの使用は本当に簡単です。

localStorage.setItem('someName', 'savedData');

後で取得する必要がある場合は、次を使用します。

var data = localStorage.getItem('someName');

HTML5を使用することにもいくつかの欠点があります。Cookieなどを介して古いブラウザに確実にサポートを追加することをお勧めします。ユーザーがログインする場所に関係なく同じ設定を使用できるようにする場合は、他に選択肢はありません。データベーステーブルを使用します。

特記事項: Cookieはリクエストごとにサーバーに送信されることに注意してください。低帯域幅が重要であり、Cookieで定義されている設定が多数ある場合は、データベーステーブルまたはローカルストレージを使用する方が理にかなっています。

22
zatatatata

複数のマシン間で外観とフィールドの変更を記憶しますか?それらは重要ですか、それとも忘れられた場合(クリアCookie)にユーザーの大きなフラストレーションを引き起こしますか?

この質問への答えは、ローカルに保存するかサーバーに保存するかを決定します。

これが不要な場合は、Cookieまたはローカルストレージで十分です。 HTML 5ローカルストレージ は実際にはありません 一般的 (少し古い質問)。

複数のマシンで記憶したい場合は、データベースが唯一のオプションです。

5
Nivas

私はクッキーを使う前にこの種のことをしました。この種のものをデータベースに保存したくはありません。それほど重要な機能ではないため、キャッシュの問題や無効化されたCookieはそれほど重要ではありません。一部の人々はそれから恩恵を受けませんが、大多数はおそらく恩恵を受けるでしょう。 bhagyasが提案したことを実行し、それをデータベースに保存する必要がありますが、ユーザーの状態をさまざまなコンピューターで保持したい場合。

3
Jordan Wallwork