Хочу представить вашему вниманию библиотеку для удобной работы с Local и Session Storage. Он появился как побочный продукт проекта и содержит несколько довольно удобных функций.
Библиотека поддерживает все современные браузеры, а именно:
- Интернет Эксплорер 8+
- Мозилла Фаерфокс 3.5+
- Гугл Хром 4+
- Сафари 4+
- Опера 10.5+
- Inc работает со строками
- распространяться на объекты
- множество методов работы с массивами
- обычное добавление/добавление/takeLast/takeFirst/getLast/getFirst
- с проверкой уникальности — .
appendUnique/.
prependUnique
- Вы можете установить ограничение для всех методов добавления/добавления — это удобно для организации списков MRU.
- цепочка звонков - я в восторге :)
Думаю, они достаточно хорошо показывают возможности библиотеки.
Для sessionStorage все работает одинаково через br.session. Вы можете скачать библиотеку https://github.com/jagermesh/breeze .br.storage.get('foo', 'bar'); // bar br.storage.set('foo', 'bar2').
get('foo'); // bar2 br.storage.set('boolean', true).
get('boolean'); // true br.storage.set('integer', 666).
get('integer'); // 666 br.storage.set('val', 10).
inc('val', 5).
inc('val').
get('val'); // 16 br.storage.set('val', 10).
dec('val', 5).
dec('val').
get('val'); // 4 br.storage.set('colors', 'red').
inc('colors', 'white').
inc('colors', 'blue').
get('colors'); // red, white, blue br.storage.set('tags', 'storage').
inc('tags', 'html5', ' ').
inc('tags', 'local', ' ').
get('tags'); // storage html5 local br.storage.clear().
set('one', 1).
set('two', 2).
set('three', 3).
get(['one', 'two', 'three']); // { one: 1, two: 2, three: 3 } br.storage.set('array', [1, 2, 3, 4, 5]).
get('array'); // [1, 2, 3, 4, 5] br.storage.set({prop1: 'val1', prop2: 'val2' }).
get('prop2'); // val2 br.storage.remove('prop1').
get('prop2'); // val2 br.storage.set({prop1: 'val1', prop2: 'val2' }).
get(['prop1', 'prop2']); // { prop1: "val1", prop2: "val2" } br.storage.remove(['prop1', 'prop2']).
get('prop1'); // null br.storage.set('object', { prop1: 'one', prop2: 'two' }).
get('object'); // { prop1: "one", prop2: "two" } br.storage.set('delicious', true).
get('delicious'); // true br.storage.not('delicious').
get('delicious'); // false br.storage.set('array', [1, 2, 3]).
append('array', 4).
get('array'); // [1, 2, 3, 4] br.storage.set('array', [1, 2, 3]).
prepend('array', 4).
get('array'); // [4, 1, 2, 3] br.storage.set('array', [1, 2, 3]).
takeLast('array'); // 3 br.storage.get('array'); // [1, 2] br.storage.set('array', [1, 2, 3]).
takeFirst('array'); // 1 br.storage.get('array'); // [2, 3] br.storage.set('array', [1, 2, 3]).
getLast('array'); // 3 br.storage.get('array'); // [1, 2, 3] br.storage.set('array', [1, 2, 3]).
getFirst('array'); // 1 br.storage.get('array'); // [1, 2, 3] br.storage.set('object', { prop1: 'one' }).
extend('object', { prop2: 'two' }).
get('object'); // { prop1: "one", prop2: "two" } br.storage.set('object', { prop1: 'one' }).
extend('object', { prop2: 'two', prop3: 'three' }).
get('object'); // { prop1: "one", prop2: "two", prop3: "three" } br.storage.set('array', [1, 2, 3]).
each('array', function(value) { console.log(value); }); // 1 // 2 // 3 br.storage.set('array', [1, 2, 3]).
appendUnique('array', 1).
appendUnique('array', 4).
get('array'); // [2, 3, 1, 4] br.storage.set('array', [1, 2, 3]).
prependUnique('array', 1).
prependUnique('array', 4).
get('array'); // [4, 1, 2, 3] br.storage.set('array', [1, 2, 3]).
append('array', 4, 3).
get('array'); // [2, 3, 4] br.storage.set('array', [1, 2, 3]).
prepend('array', 4, 3).
get('array'); // [4, 1, 2] br.storage.all(); // { array: [2, 3] // , boolean: true // , colors: "red, white, blue" // , delicious: false // , foo: "bar2" // , integer: 666 // , object: { prop1: "one", prop2: "two", prop3: "three" } // , one: 1 // , tags: "storage html5 local" // , three: 3 // , two: 2 // }
Критика приветствуется :) Теги: #localstorage #sessionstorage #html5 #breeze #JavaScript
-
Анненков Павел Васильевич.
19 Oct, 24 -
Антивирус Как Угроза
19 Oct, 24 -
Ручка Со Встроенным Rgb-Сканером.
19 Oct, 24 -
Теория Магии: Пространство Свойств
19 Oct, 24