Постоянство на стороне клиента (хранение) - PullRequest
6 голосов
/ 22 сентября 2009

В моих демонстрациях я бы хотел избежать использования традиционных БД и хранить все данные на стороне клиента, например, информация, представленная через форму.

Какие у меня есть альтернативы для этого. Я слышал о Gears, но у меня нет никакого практического опыта.

Могу ли я хранить двоичную информацию помимо строк, например, картинка?

Ответы [ 5 ]

5 голосов
/ 22 сентября 2009

Вы можете посмотреть StorageUtility YUI . Он может использовать HTML 5, Google Gears или SWF в качестве запасного варианта.

1 голос
/ 07 октября 2009

YUI StorageUtility - отличная абстракция, как сказал Энди. Dojo имеет аналогичную абстракцию dojox.storage , которая работает также с некоторыми более старыми браузерами. Если ваш объем данных <100 КБ, то вы можете легко использовать Flash. Тщательно продумайте использование файлов cookie HTTP, поскольку они не только ограничены в размерах, но и отправляются по сети, что может быть или не быть желательным.

1 голос
/ 27 сентября 2009

Cookies - это наиболее поддерживаемый способ работы, который будет работать во всех браузерах. Я открыл небольшую библиотеку для получения и сохранения данных через Cookies через нативные объекты javascript.

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/cookies.js

Вы можете скопировать его и использовать по своему усмотрению. Вам также понадобится этот код изоляции пространства имен javascript, если вы используете его как есть:

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/namespace.js

Если у вас большой объем данных, вам придется распространять его среди множества различных файлов cookie. Как правило, вы можете зависеть от того, сможете ли вы сохранить до 4 КБ данных на файл cookie.

1 голос
/ 22 сентября 2009

Боюсь, ваши возможности несколько ограничены.

0 голосов
/ 22 сентября 2009

У меня есть очень простая демонстрация для тестирования веб-хранилища HTML5 / localstorage.

http://www.codebase.es/test/webstorage.html

Вы можете хранить все, что хотите, а не только строки. Чтобы сохранить изображение, скопируйте изображение на холст и сохраните данные, используя метод toDataURL ().

Но не ожидайте, что он будет работать в IE ...

...