2010-11-25 3 views
8

Есть ли способ иметь некоторые постоянные данные (например, XML-файл или так), кроме файлов cookie на стороне клиента? Я знаю, что это невозможно с JavaScript напрямую. Но любой другой способ, как апплеты или что-то?Постоянное хранилище на стороне клиента

+1

Апплет java может сделать это, если он подписан цифровой подписью. Но я лично не смог бы установить подписанный апплет из ненадежного источника из-за потенциального отверстия безопасности, которое он откроет. – cspolton 2010-11-25 15:26:20

ответ

5

Если печенье не будет достаточно, и вы должны поддерживать старые браузеры, то LawnChair может помочь: http://brian.io/lawnchair/plugins/

Это как «Couch», но меньше, получить его? Принял меня несколько минут;).

И это действительно работает для настольных браузеров, несмотря на рекламный ролик на сайте о мобильном-webkit: https://github.com/brianleroux/lawnchair/blob/master/README.md.

(Но он использует файлы cookie как адаптер для хранения данных для резервного копирования в старых браузерах, большинство таких библиотек, вероятно, будут, если вам по каким-то причинам запрещено использовать куки-файлы, эти библиотеки могут не соответствовать . счет)

5
+0

Yup. Предостережение: поддержка зависит от браузеров (как и любого HTML5). – Piskvor 2010-11-25 15:13:03

+0

Интересно. Но что, если клиент IE6 или IE8? В любом случае с плагинами? – mihsathe 2010-11-25 15:14:22

+0

@mihsathe: Если браузер не поддерживает его (например, IE6), очевидно, вы не можете его использовать (вам придется подделать его с помощью куки-файлов). IE8, похоже, имеет * некоторую поддержку *: http://stackoverflow.com/questions/3452816/does-ie8-support-out-of-the-box-in-localstorage – Piskvor 2010-11-25 15:28:47

5

Последние браузеры поддерживают HTML5 Local Storage.

Если клиент не поддерживает HTML 5, плагин Google Gears позволяет локальное хранилище.

2

Мы используем YUI's local storage wrapper без каких-либо проблем в течение некоторого времени. Библиотека автоматически использует наилучшую доступную опцию хранения и поддерживает почти все браузеры; IE6 +, Firefox2.0 + и более новые Safari, Chrome и Opera.

0

Html5 локальное хранилище, безусловно, ответ, если вы хотите пример того, как использовать эту функцию, проверьте, поддерживает ли браузер и как перебрать элементы проверить эту ссылку: http://geoffrey.vandiest.biz/post/2011/04/30/HTML5-Local-Storage.aspx

0

Это старый вопрос, но есть некоторые действительно хорошие новые технологии HTML5 для клиентского хранилища. вы можете сделать это в javascript сейчас.

File-System API и IndexedDB, безусловно, стоит посмотреть в и должен быть рядом, чтобы остаться!

Во избежание проблем безопасности файлы, хранящиеся на клиентских компьютерах, изолированы и обфускации на стороне клиента.

File-System API

File-System API и для браузеров, которые пока не поддерживают File-System API существует js you can include to get the desired functionality. Вы можете запросить временное или постоянное хранилище. Единственным ограничением на размер вашего файла с помощью API файловой системы является количество свободного места на жестком диске клиента (в сочетании с запрошенной вами квотой). Временное хранилище в файловой системе api даст вам всего несколько сотен мегабайт (пара GB, если вам повезет). Я использую двузначные ГБ с PERSISTENT storage для веб-приложений, практически без проблем.

IndexedDB

IndexedDB является более широко браузер поддерживал технологию. Ограничений по размеру файла для indexedDB, как правило, вы сможете получить до нескольких накопленных МБ пространства, используя запросы квоты.

Смежные вопросы