Ответ 1
сохранить этот вкусный cookie
$.cookie("test-data", JSON.stringify(test));
получить этот сладкий печенье назад
var test = JSON.parse($.cookie("test-data"));
Я хочу кэшировать следующий объект JSON на странице, чтобы получить его на другой странице.
var test = {
"lists":["list1","list2","list3","list4","list5"],
"maps": {
"key4":"value4","key3":"value3","key5":"value5","key2":"value2","key1":"value1"
},
"number1":123456789,
"numberarray1":[1,2,3,4,5,6,7,8,9],
"string1":"A",
"stringarray1":["A1","B1"]
}
Как кэшировать его и снова загружать?
Возможно ли это? Если нет других способов сохранить объект JSON, а затем восстановить его на другой странице.
Спасибо.
сохранить этот вкусный cookie
$.cookie("test-data", JSON.stringify(test));
получить этот сладкий печенье назад
var test = JSON.parse($.cookie("test-data"));
В дополнение к предоставленным ответам, в более сложных сценариях я бы рекомендовал использовать jStorage плагин.
Описание с веб-сайта:
jStorage - это база данных хранилища ключей для кросс-браузера для хранения данных локально в браузере - jStorage поддерживает все основные браузеры, оба на рабочем столе (да - даже Internet Explorer 6) и в мобильном. Кроме того, jStorage является агностиком библиотеки, он хорошо работает с любым другая библиотека JavaScript на той же веб-странице, будь то jQuery, Prototype, MooTools или что-то еще. Хотя вам все еще нужно иметь сторонней библиотеки (Prototype, MooTools) или JSON2 на странице, чтобы поддерживают более старые версии IE.
jStorage поддерживает сохранение строк, номеров, объектов JavaScript, массивов и даже собственные узлы XML. jStorage также поддерживает установку значений TTL для автоматического истечения срока хранения хранимых ключей и - лучше всего - уведомления других вкладки/окна, когда ключ был изменен или опубликован/подписан на события из той же или другой вкладки/окна, что также делает jStorage локальную платформу PubSub для веб-приложений.
Если jStorage загружается на страницу localStorage, а в IE6 и IE7 добавляются полисы, в дополнение к обычным методам $.jStorage. Вы можете использовать обычные методы setItem/getItem с полиполками, но также могут использоваться getter/seters - localStorage.mykey = myval; абсолютно справедливо с jStorage. Единственным недостатком является то, что вы не можете использовать событие onstorage, вместо этого вам нужно вернуться к listenKeyChange.
jStorage довольно маленький, около 10kB при минировании и 4kB gzipped.
Вы говорите о кешировании в HTML? Вы всегда можете использовать LocalStorage, который сделает его доступным для любых страниц в одном домене.
Если вы объедините это с Modernizr и куки файлы, вы можете получить какое-то решение.