Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check for HTML 5 localStorage

How to check for HTML 5 localStorage compability of the users browser?

I have been using two checks:

    if (window.localStorage) {
       // localStorage works!
    }

and

    if (typeof(localStorage) != 'undefined') {
         // localStorage works!
    }

Also, I have seen a function online which uses an try/catch block to check whether localStorage can add a key/data pair, or throws an error.

Which of those three methods would you recommend, and are there any differences between the first and the second?

like image 740
Hidde Avatar asked Sep 05 '25 00:09

Hidde


2 Answers

The following is the code Modernizr (code) uses for localstorage

tests['localstorage'] = function() {
    var mod = 'modernizr';
    try {
        localStorage.setItem(mod, mod);
        localStorage.removeItem(mod);
        return true;
    } catch(e) {
        return false;
    }
};

IMO this is pretty much the recommended way to check for it.

like image 116
Sirko Avatar answered Sep 07 '25 21:09

Sirko


@MathiasBynens has written a nice article about this, comparing different approaches:

http://mathiasbynens.be/notes/localstorage-pattern

like image 21
user123444555621 Avatar answered Sep 07 '25 19:09

user123444555621