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

Le JavaScript ci-dessus échoue dans Opera 10.10. Il se plaint que localStorage est indéfini sur la deuxième ligne. C'est vrai, mais en raison de la vérification sur la première ligne, il ne devrait jamais atteindre la deuxième ligne, et ne pas échouer. Qu'est-ce que je fais de mal?Opera localStorage ignore mon existence contrôle

Répondre

1

Utilisez if(window.localStorage), votre code actuel provoquera probablement un avertissement ou une erreur dans les navigateurs non compatibles. LocalStorage est uniquement disponible dans Opera depuis 10.50, et au moins pour moi-même cela fonctionne très bien avec votre code.