Created
November 2, 2011 15:28
Revisions
-
nuxlli revised this gist
Nov 2, 2011 . 1 changed file with 46 additions and 44 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,51 +1,53 @@ /** * Fallback to localStorage **/ ;(function() { if (typeof localStorage == "undefined" && typeof FileSystem == "function") { var fileSyObj = new FileSystem(); var fileName = curWidget.id + "_localStorage.db"; var lStorage = {}; var changed = false; // load or init localStorage file var fileObj = fileSyObj.openCommonFile(fileName, "r+"); if (fileObj != null) { try { lStorage = JSON.parse(fileObj.readAll()); } catch(e) { } } else { fileObj = fileSyObj.openCommonFile(fileName, "w") fileObj.writeAll("{}"); } fileSyObj.closeCommonFile(fileObj); // Save storage lStorage.saveFile = function(delay) { if (changed && typeof JSON == 'object') { var $self = this; var save = function() { fileObj = fileSyObj.openCommonFile(fileName, "w") fileObj.writeAll(JSON.stringify($self)); fileSyObj.closeCommonFile(fileObj); changed = false; } if (typeof delay != 'undefined' && delay) setTimeout(save, 100); else save(); } } lStorage.setItem = function(key, value) { changed = true; this[key] = value; this.saveFile(true); return this[key]; } lStorage.getItem = function(key) { return this[key]; } window.localStorage = lStorage; } })(); -
nuxlli created this gist
Nov 2, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,51 @@ /** * Fallback to localStorage **/ if (typeof localStorage == "undefined" && typeof FileSystem == "function") { var fileSyObj = new FileSystem(); var fileName = curWidget.id + "_localStorage.db"; var lStorage = {}; var changed = false; // load or init localStorage file var fileObj = fileSyObj.openCommonFile(fileName, "r+"); if (fileObj != null) { try { lStorage = JSON.parse(fileObj.readAll()); } catch(e) { } } else { fileObj = fileSyObj.openCommonFile(fileName, "w") fileObj.writeAll("{}"); } fileSyObj.closeCommonFile(fileObj); // Save storage lStorage.saveFile = function(delay) { if (changed && typeof JSON == 'object') { var $self = this; var save = function() { fileObj = fileSyObj.openCommonFile(fileName, "w") fileObj.writeAll(JSON.stringify($self)); fileSyObj.closeCommonFile(fileObj); changed = false; } if (typeof delay != 'undefined' && delay) setTimeout(save, 100); else save(); } } lStorage.setItem = function(key, value) { changed = true; this[key] = value; this.saveFile(true); return this[key]; } lStorage.getItem = function(key) { return this[key]; } window.localStorage = lStorage; }