Альтернатива печенькам - PullRequest
       13

Альтернатива печенькам

9 голосов
/ 04 января 2010

Я создаю переносимые прототипы HTML / Javscript, которые предназначены для архивации и распространения по электронной почте / sharepoint. Ключевое слово здесь - «портативный» - сервер для запуска этих типов не требуется - только браузер с поддержкой javascript. И нет базы данных.

Некоторые из прототипов требуют, чтобы я сохранил данные (просто чтобы показать потенциальную функциональность). Я делаю это в настоящее время с помощью куки. Похоже, что это нормально работает для Firefox, Chrome и т. Д., Но Internet Explorer работает по-другому.

После того, как максимальный размер 4096 байт для всех файлов cookie домена будет достигнут в IE6 и 7 (я еще не проверял 8), файлы cookie перестают работать. Когда этот предел достигнут, то даже чтение из файла cookie перестает происходить, и прототип ломается.

Существуют ли другие способы сохранения данных без использования сервера и базы данных?

Любые идеи будут с благодарностью.

Ответы [ 5 ]

6 голосов
/ 04 января 2010

хранить данные в скрытом поле (или даже в нескольких, если необходимо).

Оберните код, который вы используете для чтения из файлов cookie, в класс / функцию в отдельный файл, и затем вы можете легко поменять файлы для экземпляров live / sample - потенциально так же легко, как закомментировать одну строку не комментируя другие.

РЕДАКТИРОВАТЬ ПО ЗАПРОСУ В КОММЕНТАРИИ : Это будет работать на нескольких страницах, при условии, что вы перемещаете данные в скрытых полях на несколько страниц. Если вы не хотите делать POSTS с одной страницы на другую, вы можете заключить страницы в рамку и затем разместить скрытые поля в элементе рамки, который не отображается (в этом сценарии поля технически не должны быть скрытыми).

Что означает, что страница, к которой осуществляется доступ, имеет тег FRAME, указывающий на две разные страницы. Первая страница - это ваше приложение, которое занимает всю видимую недвижимость. Вторая страница - это просто страница, которая будет содержать один или несколько элементов управления, которые будут хранить данные, и эта вторая страница вообще не видна (пользователю). Поскольку все эти страницы являются частью одного и того же «домена», дочернему элементу фрейма легко поговорить с одним из его братьев и сестер и прочитать / записать данные в поля скрытой страницы.

И способ, которым это достигает предела cookie, состоит в том, что поле ввода текста технически ограничено только памятью на компьютере и таймаутом пропускной способности сети. Например, раньше я видел скрытое поле с данными объемом 20 МБ (представьте, что это зло из ViewStates).

5 голосов
/ 04 января 2010

Оформить YUI Storage .

5 голосов
/ 04 января 2010

Несмотря на то, что в настоящее время это широко не доступно, существует HTML5 webstorage / localstorage.

3 голосов
/ 04 января 2010

Dojo Storage позволит вам сэкономить до 100k

0 голосов
/ 22 августа 2013

Ситуация с API-хранилищами HTML5 прогрессировала с тех пор, как jldupont здесь .

задала этот вопрос и первоначально ответила на него.

В настоящее время Opera Mini является единственным крупным браузером без поддержки.

Источник , доступ 22/8/2013.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...