Простой, легковесный JavaScript API для работы с браузером localStorage, который легко освоить и использовать, имеет разумный размер 2.08кБ (сжатый: 0.97кБ) и не зависит от других библиотек. Он не должен мешать работе любых JavaScript библиотек или фреймворков.
Старая версия v1 документация предварительный просмотр.
Особенности:
🚀 Без зависимостей
🌱 Работает во всех браузерах
🔥 Тщательно протестировано
📦 Поддерживает AMD/CommonJS
💥 store.min.js 2.08кБ (сжатый: 0.97кБ)
Установлен через npm. Вам потребуется установленный Node.js
.
$ npm install storejs --save
import store from 'storejs';
store('test', 'tank', 1);
Или скачайте вручную и подключите storejs
в ваш HTML. Это также можно скачать через UNPKG или jsDelivr CDN:
CDN: UNPKG | jsDelivr | Githack | Statically | bundle.run```html
<script src="https://unpkg.com/cookiejs/dist/cookie.min.js"></script> <script type="text/javascript"> store('test', 'tank'); </script>
## Основной пример использования```js
store(ключ, данные); // Хранение одной строки данных
store({ключ: данные, ключ2: данные2}); // Хранение нескольких строковых данных
store(ключ); // Получение строковых данных по ключу
store('?ключ'); // Определение существования ключа
store(); // Получение всех ключ/данные
//store(false);🔫 // (Устарело) потому что легко очистить хранилище из-за значения null или ошибки
//store(ключ, false); 🔫 // (Устарело)
``````markdown
store.set(ключ, данные[, перезапись]); // === store(ключ, данные);
store.set({ключ: данные, ключ2: данные2}); // === store({ключ: данные, ключ2: данные});
store.get(ключ[, альт]); // === store(ключ);
store.get('?ключ'); // Определение наличия ключа `ключ`
store.get('ключ1', 'ключ2', 'ключ3'); // Получение данных для `ключ1`, `ключ2`, `ключ3`
store.remove(ключ); // === store(ключ, false)
store.clear(); // Очистка всех ключей/данных
store.keys(); // Возвращает массив всех ключей
store.forEach(коллбэк); // Циклический проход, возврат false завершает проход
store.search(строка); // Метод поиска
store.has(ключ); // ⇒ Определение наличия ключа, возвращает true/false
// ⇒ Предоставление метода коллбэка для обработки данных
store('тест', (ключ, значение) => {
console.log(значение) // Обработка полученных данных через тест здесь
return [3, 4, 5] // Возвращение данных и установка в хранилище
})
``````md
## API
### set
Хранение или удаление отдельной строки данных `store.set(ключ, данные[, перезапись]);`. Эквивалентный эффект `store(ключ, данные);`.
```js
store.set('wcj', '1'); // ⇒ 1
store.set('wcj'); // ⇒ Удаление `wcj` и связанной строки данных
Получение строковых данных по ключу store.get(ключ[, альт]);
. Эквивалентный эффект store(ключ)
.
store.get('wcj1'); // Получение строковых данных для `wcj1`
store('wcj1'); // Эквивалентная функциональность как выше
Массовое хранение множества строковых данных store.setAll(данные[, перезапись]);
. Эквивалентный эффект store({ключ: данные, ключ2: данные});
.
store.setAll({
"wcj1": 123,
"wcj2": 345
}); // Хранение двух строковых данных
store.setAll(["w1", "w2", "w3"]);
// Хранение трёх строковых данных
// 0 ⇒ "w1"
// 1 ⇒ "w2"
// 2 ⇒ "w3"
Очистка всех ключей/данных. store.clear();
⚠️ Устарел store(false);
из-за возможности случайного удаления данных при передаче пустого значения или возникновении ошибки
store.clear();
Возвращает массив всех ключей. store.keys();
.
store.keys(); // Возвращает массив всех ключей
Проверяет наличие ключа, возвращает true/false `store.has(key)`.
```js
store.has('w1'); // ⇒ true
Удаляет данные ключа вместе с самим ключом store.remove(key)
.
store.remove('w1'); // Удаляет w1 и возвращает его значение
store('w1', false); // Также удаляет w1
Циклический проход, возвращает false
, чтобы завершить проход.
store.forEach((k, d) => {
console.log(k, d);
if (k === 3) return false;
});
Ответ на изменения хранилища с помощью события StorageEvent.
if (window.addEventListener) {
window.addEventListener('storage', handleStorage, false);
} else if (window.attachEvent) {
window.attachEvent('onstorage', handleStorage);
}
function handleStorage(e) {
if (!e) { e = window.event; }
// showStorage();
}
Свойство | Тип | Описание |
---|---|---|
key | String | Название ключа, который был добавлен, удален или изменен |
oldValue | Any | Предыдущее значение (теперь перезаписано), или null если был добавлен новый элемент |
newValue | Any | Новое значение, или null если был добавлен элемент |
url/uri | String | Страница, которая вызвала метод, который спровоцировал это изменение |
store.set('ad', OnClickListener()).get('ad');
store.get([key, key2])
Метод получения, возвращает JSON
store([key, key2])
Метод получения, возвращает JSON
onStorage
Тестовые случаи и реализация метода## Связанные проекты
cookiejs 🍪 Простой, лёгковесный JavaScript API для работы с браузерными cookie, легко учиться и использовать, имеет разумный размер (~2kB, сжатый: 0,95kB) и не зависит от других библиотек или фреймворков.
Разрешено на условиях лицензии MIT.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )