Хранить Javascript с переменной клиентской стороной

Не дублируется. Я читал много таких вопросов, и это всегда заканчивалось тем, что "использовал PHP или серверную информацию и следил за манипуляциями с инъекциями/данными".

Я хочу хранить простые вещи на стороне клиента (сохранить и загрузить), например, местоположение Google Map, и хочу, чтобы он оставался между обновлением страницы.

Я не хочу использовать PHP или серверную вещь.

Как я могу продолжить?

Спасибо

Ответ 3

Ключевой вопрос, который вы должны иметь в виду, - вы не можете доверять клиенту. Если это нормально для клиента, чтобы спросить о каком-либо месте, тогда вам будет удобно хранить местоположение на стороне клиента. Но вы не можете подтвердить, что значение, которое вы возвращаете с клиентской стороны, - это тот, который вы предоставили этому клиенту.

То, что это означало под "манипулированием данными" [инъекция - это особый тип манипуляции с данными, поскольку манипулировать ею включают такие вещи, как отметки конечной кавычки, если вы используете ее как часть SQL-запроса или другого script.]

Ответ 4

Я предлагаю использовать localStorage по нескольким причинам:

  • Он поддерживается современными браузерами, ВКЛЮЧАЯ IE.
  • Вы можете хранить до 5 МБ данных (10 в IE), где в качестве файла cookie всего 4 КБ
  • Там очень много библиотек, чтобы сделать это легко. Одним из самых популярных является LawnChair: http://westcoastlogic.com/lawnchair/ Это фактически будет записываться в несколько мест, включая файлы cookie, чтобы данные не терялись легко.

Кроме того, в качестве примечания вы не можете хранить объекты с localStorage, так же как и вы не можете использовать файлы cookie, но можете их преобразовать. Например, если вы хотите сохранить Date(), не храните его как new Date() в качестве: '\'+Date().getTime()+'\'. То же самое для других объектов.

Ответ 5

Существует несколько вариантов хранения данных на стороне клиента - IndexedDB, localstorage, webSQL, SessionStorage, Cookies и т.д.

IndexedDB

  • Данные могут быть запрошены эффективно. Нет ограничений по размеру (но объем или дисковые драйверы ограничивают размер)
  • Он будет храниться в формате Key-Object
  • Он не будет поддерживаться в браузере Safari
  • Запросы поддержки
  • Асинхронный

LocalStorage

  • Он сохранит значение в формате ключевого значения (значение всегда должно быть Строка)
  • Синхронный
  • Полезно, если вам нужно хранить небольшой объем данных
  • Ограниченный размер (зависит от браузера)

Хранилище сеансов

  • Если пользователь закрывает вкладку, она очистит данные.

Вы можете проверить YDN-DB здесь

Ответ 7

Как сохранить его в файле cookie? Для JavaScript я рекомендую использовать jQuery, что упрощает большую работу.

например. http://plugins.jquery.com/project/Cookie