как использовать $ .storage для нескольких объектов - PullRequest
0 голосов
/ 17 декабря 2011

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

Я думаю, плагин jQuery $.storage был бы идеальным, но я не знаю, как сохранить в нем более одного объекта.API jquery говорит, что его синтаксис:

$.Storage.set({"name1":"value1", "name2":"value2", etc})`

Но это хорошо только для одного объекта.Смогу ли я создать несколько объектов в списке аргументов?Или, может быть, хранить массив?

1 Ответ

0 голосов
/ 17 декабря 2011

Вы можете создавать строки JSON и сохранять их, чтобы при извлечении данных их можно было проанализировать как JSON и извлечь из него объект. Таким образом, вы можете хранить всю информацию об одном элементе в объекте.

UPDATE

Вот инструмент, который вы можете включить для «преобразования» объектов JavaScript в JSON (он добавит эту функциональность в браузеры, у которых этого еще нет): https://github.com/douglascrockford/JSON-js

И вы можете вкладывать объекты, если хотите:

var myObj = {
        level_one : {
            level_two : {
                key : 'val'
            },
            level_two_too : {
                level_three : {
                    key : 'val'
                }
            }
        },
        level_one_too : {
            key : 'val'
        }
    },
    str = JSON.stringify(myObj);

Переменная str теперь будет содержать строку, подобную этой:

{"level_one":{"level_two":{"key":"val"},"level_two_too":{"level_three":{"key":"val"}}},"level_one_too":{"key":"val"}}

Вот демоверсия: http://jsfiddle.net/ycxcV/

UPDATE

Итак, ваш $.storage() вызов функции будет выглядеть примерно так:

$.Storage.set({"element-one":JSON.stringify($('#element-one')), "element-two":JSON.stringify($('#element-two'))})

Вот обновленная демонстрация, которая показывает создание строки JSON и ее синтаксический анализ обратно в объект: http://jsfiddle.net/ycxcV/1/ Это сохранит объекты jQuery, связанные с элементами DOM #element-one и #element-two, в локальном хранилище.

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