2011-06-30 15 views
22

Mam opracowywaną aplikację internetową, która bardzo przypomina pomysł, że jeśli użytkownik wprowadzi zmiany w widoku interfejsu użytkownika (np. Listy otwarte lub zamknięte, określone preferencje wyświetlania), zmiany te pozostaną po zamknięciu przeglądarki i odwiedzeniu aplikacja internetowa w późniejszym terminie.Najlepszy sposób na przechowywanie małych preferencji użytkownika interfejsu użytkownika w aplikacji internetowej?

Możliwe opcje można myślę:

  1. preferencje UI Store JSON obiektów w pliku cookie.
  2. użycie HTML5 lokalnej pamięci (brak doświadczenia to)
  3. przechowywać w bazie danych MySQL (nie zależy na przechowywanie takich trywialnych danych w DB)

Po zapisaniu będzie odzyskać te preferencje, gdy użytkownik powraca i ustawić interfejs tak, jak był, kiedy go zostawili.

Czy ktoś ma jakiekolwiek doświadczenie z tego typu funkcji i może zaproponować najlepszą metodę zapisywania i pobierania stanu interfejsu użytkownika?

Odpowiedz

23

Jeśli jest tak mały, prawdopodobnie powinien przechowywać obiekt Json ustawień interfejsu we własnej bazie danych.

To sprawi, że użytkownicy będą mieli mniej problemów po ich zakończeniu, takich jak luki w pamięci podręcznej i lokalne nieobsługiwane przeglądarki.

Umożliwia także użytkownikom korzystanie z ustawień interfejsu użytkownika na różnych komputerach lub przeglądarkach.

+1

otworzyłeś moje oko, myślałem o ustawieniu preferencji po stronie klienta. Dzięki. –

5

Czy chcesz, aby zmiany wyglądu i pola były pamiętane na wielu komputerach? Czy są one krytyczne, czy mogą powodować poważne frustracje użytkowników, jeśli zostaną zapomniane (jasne pliki cookie)?

Odpowiedź na to pytanie decyduje o tym, czy przechowujesz lokalnie, czy na serwerze.

Jeśli nie jest to wymagane, plik cookie lub pamięć lokalna powinna być wystarczająca. HTML 5 local storage nie jest tak naprawdę prevalent (małe stare pytanie).

Jeśli chcesz pamiętać o różnych maszynach, baza danych jest jedyną opcją.

2

Zrobiłem tego rodzaju rzeczy przed użyciem plików cookie. Nigdy nie chciałbym przechowywać tego rodzaju danych w bazie danych, a ponieważ nie jest to bardzo ważna funkcja buforowania lub wyłączone pliki cookie, nie powinno to mieć znaczenia - niektórzy ludzie nie będą z tego czerpać korzyści, ale większość prawdopodobnie to zrobi. Jeśli chcesz, aby użytkownicy zachowywali się na różnych komputerach, musisz zrobić to, co zasugerował bhagya i zapisać je w bazie danych.

11

Korzystanie HTML5 pamięci lokalnej jest bardzo proste:

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

Kiedy trzeba je odzyskać później po prostu użyć:

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

Korzystanie HTML5 ma pewną wadę też proponuję, aby na pewno dodać obsługa starszych przeglądarek za pośrednictwem plików cookie itp. Następnie, jeśli chcesz, aby użytkownik miał te same ustawienia niezależnie od lokalizacji, z której się loguje, nie ma innej możliwości niż użycie tabeli bazy danych.

Dodatkowa uwaga: Należy pamiętać, że pliki cookie są wysyłane z każdym żądaniem na serwer. Jeśli niska przepustowość jest ważna i istnieje wiele ustawień zdefiniowanych w pliku cookie, użycie tabeli bazy danych lub lokalnej pamięci ma więcej sensu.

Powiązane problemy