Opera LocalStorage ignora minha verificação de existência
-
23-09-2019 - |
Pergunta
if (localStorage)
{
var menushown = JSON.parse(localStorage.getItem("menuState"));
if (!menushown)
{
menushown = menuDefaultState;
}
}
else
{
menushown = menuDefaultState;
}
O JavaScript acima falha na Opera 10.10. Ele reclama que o LocalStorage é indefinido na segunda linha. Isso é verdade, mas, devido à verificação na primeira linha, nunca deve chegar à segunda linha e não falhar. O que estou fazendo errado?
Solução
Usar if(window.localStorage)
, seu código atual provavelmente causará um aviso ou um erro em navegadores não compatíveis.
O LocalStorage está disponível apenas na Opera desde 10.50 e, pelo menos para mim, funciona muito bem lá com seu código.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow