localStorage fallback
[2048.git] / js / local_score_manager.js
blob:a/js/local_score_manager.js -> blob:b/js/local_score_manager.js
  window.fakeStorage = {
  _data : {},
  setItem : function (id, val) {
  console.log('set');
  return this._data[id] = String(val);
  },
  getItem : function (id) {
  return this._data.hasOwnProperty(id) ? this._data[id] : undefined;
  },
  removeItem : function (id) { return delete this._data[id]; },
  clear : function () { return this._data = {}; }
  };
   
function LocalScoreManager() { function LocalScoreManager() {
  var localSupported = !!window.localStorage;
this.key = 'bestScore'; this.key = 'bestScore';
  this.storage = localSupported ? window.localStorage : window.fakeStorage;
} }
   
LocalScoreManager.prototype.get = function () { LocalScoreManager.prototype.get = function () {
if (!this.isSupported()) { var score = this.storage.getItem(this.key);
return 0; if (typeof score === "undefined" || score === null) {
  score = 0;
} }
  return score;
return localStorage.getItem(this.key);  
}; };
   
LocalScoreManager.prototype.set = function (score) { LocalScoreManager.prototype.set = function (score) {
if (!this.isSupported()) { this.storage.setItem(this.key, score);
return false;  
}  
   
localStorage.setItem(this.key, score);  
};  
   
LocalScoreManager.prototype.isSupported = function () {  
return !!window.localStorage;  
}; };
   
   
comments