A timeline of the last four years of detecting good old window.localStorage
.
Jan Lenhart, bless his heart contributed the first patch for support:
October 2009: 5059daa
(typeof window.localStorage != 'undefined')
Simplicifations
November 2009: 15020e7
!!window.localStorage
If cookies disabled in FF, exception. Softer detect
December 2009: 1e0ba91
!!('localStorage' in window)
If DOM storage disabled in IE, window.localStorage
is present but === null
.
January 2010: d8947c9
(localStorage in window) && window[localStorage] !== null
FF with dom.storage.enabled = false throws exceptions
July 2010: ef2c47
try {
return ('localStorage' in window) && window[localstorage] !== null;
} catch(e) {
return false;
}
more shit because of FF exceptions
December 2010: c630c39
try {
return !!localStorage.getItem;
} catch(e) {
return false;
}
iOS private browsing fucks everyone!!!
October 2011: 5e2fa0e
try {
return !!localStorage.getItem('getItem');
} catch(e) {
return false;
}
stronger full capability test for localstorage with iOS private browsing protection
October 2011: a93625c
try {
localStorage.setItem(mod, mod);
localStorage.removeItem(mod);
return true;
} catch(e) {
return false;
}
This is awesome, great summary! I think I went trough every single step myself :)