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?

Foi útil?

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
scroll top