Skip to content

Instantly share code, notes, and snippets.

@coderaiser
Created February 23, 2014 10:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coderaiser/9169838 to your computer and use it in GitHub Desktop.
Save coderaiser/9169838 to your computer and use it in GitHub Desktop.
if (!window.localStorage) {
var Storage = function() {
/* приватный переключатель возможности работы с кэшем */
var StorageAllowed,
Data = {};
/* функция проверяет возможно ли работать с кэшем каким-либо образом */
this.isAllowed = function() {
return StorageAllowed;
};
this.setAllowed = function(pAllowed) {
StorageAllowed = pAllowed;
return pAllowed;
};
/** remove element */
this.remove = function(pItem) {
var lRet = this;
if (StorageAllowed)
delete Data[pItem];
return lRet;
};
/** если доступен localStorage и
* в нём есть нужная нам директория -
* записываем данные в него
*/
this.set = function(pName, pData) {
var lRet = this;
if (StorageAllowed && pName && pData)
Data[pName] = pData;
return lRet;
},
/** Если доступен Storage принимаем из него данные*/
this.get = function(pName) {
var lRet = false;
if (StorageAllowed)
lRet = Data[pName];
return lRet;
},
/* get all Storage from local storage */
this.getAll = function() {
var lRet = null;
if (StorageAllowed)
lRet = Data;
return lRet;
};
/** функция чистит весь кэш для всех каталогов*/
this.clear = function() {
var lRet = this;
if (StorageAllowed)
Data = {};
return lRet;
};
};
window.localStorage = new Storage();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment