1
if (localStorage)
{
    var menushown = JSON.parse(localStorage.getItem("menuState"));
    if (!menushown)
    {
        menushown = menuDefaultState;
    }
} 
else
{
    menushown = menuDefaultState;
}

上述 JavaScript 在 Opera 10.10 中失败。它抱怨 localStorage 在第二行未定义。这是真的,但是由于第一行的检查,它永远不会到达第二行,并且不会失败。我究竟做错了什么?

4

1 回答 1

1

使用if(window.localStorage),您当前的代码可能会在不兼容的浏览器中导致警告或错误。

localStorage 自 10.50 起仅在 Opera 中可用,至少对我自己而言,它在您的代码中工作得很好。

于 2010-01-27T16:30:49.917 回答