Выполнение изменений в localStorage с помощью JavaScript?

Вопрос:

Согласно спецификациям W3 Web Storage значения в localStorage имеют строку типа.

Таким образом, запись не может быть подробно обновлена, как подкомпонента объекта JS, и только заменить весь ключ:

Обновление/редактирование localStorage – JSONObject

Предположим, что я хочу “защищать” пользовательский ввод часто на стороне клиента в localStorage, а также обновлять его на изменения модели на сервере (только передача изменений с сервера на клиент). Как часто я могу использовать JSON.stringify() мои локальные данные (= состояние ViewModel) и сохранять их в localStorage, не вызывая проблем для пользователя? Является ли сериализация и сохранение (а не передача!), Например, 30 КБ данных каждые 5 секунд, чтобы локальная хранилища вызывала задержки?

Бонусный вопрос: планирует ли какой-либо крупный поставщик браузера хранить объекты JS непосредственно в localStorage?

Ответ №1

Это может быть не совсем верно; существует способ обновления одного ключа к объекту, размещенному в локальном хранилище, а код ниже.

var updateLocalStorageKey = function(obj, key, val) {

var localObj = JSON.parse(localStorage[obj] )

localObj[key] = val;

//reset storage

localStorage[obj] = JSON.stringify(localObj)
}

Рабочий jsbin находится здесь: http://jsbin.com/jesapifa/4/edit?html,js,output

Надеюсь, это решает вашу проблему!

Оцените статью
TechArks.Ru
Добавить комментарий