A timeline of the last four years of detecting good old window.localStorage
.
October 2009: 5059daa
(typeof window.localStorage != 'undefined')
November 2009: 15020e7
!!window.localStorage
December 2009: 1e0ba91
!!('localStorage' in window)
January 2010: d8947c9
(localStorage in window) && window[localStorage] !== null
July 2010: ef2c47
try {
return ('localStorage' in window) && window[localstorage] !== null;
} catch(e) {
return false;
}
December 2010: c630c39
try {
return !!localStorage.getItem;
} catch(e) {
return false;
}
October 2011: 5e2fa0e
try {
return !!localStorage.getItem('getItem');
} catch(e) {
return false;
}
October 2011: a93625c
try {
localStorage.setItem(mod, mod);
localStorage.removeItem(mod);
return true;
} catch(e) {
return false;
}
On a related, if you're looking to shim
localStorage
, there are great vanilla JS solutions:Using cookies:
https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
Using in-memory:
https://gist.github.com/juliocesar/926500