Opera localStorage ignore mon contrôle d'existence
-
23-09-2019 - |
Question
if (localStorage)
{
var menushown = JSON.parse(localStorage.getItem("menuState"));
if (!menushown)
{
menushown = menuDefaultState;
}
}
else
{
menushown = menuDefaultState;
}
Le code JavaScript ci-dessus échoue dans Opera 10.10. Il se plaint que localStorage n'est pas défini sur la deuxième ligne. Cela est vrai, mais à cause de la vérification sur la première ligne, il ne doit jamais atteindre la deuxième ligne, et ne manquera pas. Qu'est-ce que je fais mal?
La solution
Utilisez if(window.localStorage)
, votre code actuel causera probablement un avertissement ou une erreur dans les navigateurs non compatibles.
localStorage est disponible uniquement dans Opera depuis 10.50, et au moins pour moi, il y travaille très bien avec votre code.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow