如何检查localstorage是否可用?

Man*_*uel -2 javascript html5 local-storage

W3Schools推荐(http://www.w3schools.com/html/html5_webstorage.asp)

if(typeof(Storage) !== "undefined") {
    // Code for localStorage/sessionStorage.
} else {
    // Sorry! No Web Storage support..
}
Run Code Online (Sandbox Code Playgroud)

检查浏览器中是否有本地存储.

我使用以下内容

var l=localStorage!==null?localStorage:0;
if(l) { /*code for locale storage*/}
Run Code Online (Sandbox Code Playgroud)

并且想知道这在所有浏览器上是否足够可靠?

谢谢,我真的很感谢你的帮助!

gil*_*ly3 12

  1. w3fools - 你似乎认为w3schools与w3c有关 - 他们不是.

  2. 使用window.localStorage.没有window,你会得到一个ReferenceError不支持的浏览器localStorage.

  3. 不要用localStorage !== null.在非支持的浏览器中,localStorage将是undefined,而不是null.操作员会更好!= null,但我根本不会使用比较运算符.你可以直接传递window.localStorage给三元运算符(l = window.localStorage ? localStorage : 0),或者更好,使用||:

var l = window.localStorage || 0;
Run Code Online (Sandbox Code Playgroud)

编辑:真的,这就是你需要的:

if (window.localStorage) {
    // do stuff with localStorage
    // no need to use window anymore
}
Run Code Online (Sandbox Code Playgroud)