2010-01-27 151 views
1
if (localStorage) 
{ 
    var menushown = JSON.parse(localStorage.getItem("menuState")); 
    if (!menushown) 
    { 
     menushown = menuDefaultState; 
    } 
} 
else 
{ 
    menushown = menuDefaultState; 
} 

上述JavaScript在Opera 10.10中失败。它抱怨localStorage在第二行没有定义。这是真的,但由于第一行的检查,它不应该到达第二行,并且不会失败。 我在做什么错?Opera localStorage忽略我的存在检查

回答

1

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

localStorage仅在Opera自10.50开始提供,至少对于我自己来说,它在您的代码中工作得很好。