Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save simongcc/b6ebb811babe5fff108b77f3970d663a to your computer and use it in GitHub Desktop.
Save simongcc/b6ebb811babe5fff108b77f3970d663a to your computer and use it in GitHub Desktop.
This is the best localStorage polyfill in the world
// I mean, seriously, localStorage is supported even by your mum. How about instead of
// casing the feature out, you give users in-memory (stale) storage instead?
// If they close your application, they deserve to lose data anyway.
// if (!('localStorage' in window)) {
if (!Modernizr.localstorage) {
window.localStorage = {
_data : {},
setItem : function(id, val) { 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 = {}; }
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment