2010-01-27 144 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開始提供,至少對於我自己來說,它在您的代碼中工作得很好。