A simple project for resolve sessionStroage and localStroage problem
- Works in above IE8
- Accepts any character(like Object Array...)
- No dependency
- Supports AMD/CommonJS
- ~3KB gzipped!
Download the script here and include it (unless you are packaging scripts somehow else):
<script src="/lib/storage-live.min.js"></script>
Javascript Storage supports npm under the name storage-live
.
$ npm install storage-live --save
JavaScript Storage can also be loaded as an AMD or CommonJS module.
Create a storage, allow storage all the time:
Storage.localStorage.set('name', 'value');
You can also store an object or array:
Storage.localStorage.set('object', { a: 1 }); // { a: 1 }
Storage.localStorage.set('array', [1, 2, 3]); // [1, 2, 3]
Read Storage:
Storage.localStorage.get('name'); // => value
Storage.localStorage.get('object'); // => { a: 1 }
Storage.localStorage.get('array'); // => [1, 2, 3]
Storage.localStorage.get('nothing'); // => null
Read all Storage:
Storage.localStorage // => {name:value,object:{a:1},array:[1, 2, 3], length:3}
Delete Storage:
Storage.localStorage.remove('name');
Delete all Storage:
Storage.localStorage.remove();
SessionStorage empathy
If there is any danger of a conflict with the namespace Storage
, the noConflict
method will allow you to define a new namespace and preserve the original one. This is especially useful when running the script on third party sites e.g. as part of a widget or SDK.
// Assign the js-storage api to a different variable and restore the original "window.Storage"
var Storage2 = Storage.noConflict();
Storage2.set('name', 'value');
Note: The .noConflict
method is not necessary when using AMD or CommonJS, thus it is not exposed in those environments.