Opera local ignoriert meine Existenzprüfung
-
23-09-2019 - |
Frage
if (localStorage)
{
var menushown = JSON.parse(localStorage.getItem("menuState"));
if (!menushown)
{
menushown = menuDefaultState;
}
}
else
{
menushown = menuDefaultState;
}
Das oben gezeigte JavaScript nicht in Opera 10.10. Sie wirft localstorage auf der zweiten Zeile nicht definiert ist. Das ist wahr, aber wegen der Kontrolle auf der ersten Zeile sollte es nie die zweite Zeile erreichen, und nicht scheitern. Was mache ich falsch?
Lösung
Verwenden if(window.localStorage)
, Ihr aktueller Code wird wahrscheinlich eine Warnung verursachen oder einen Fehler in der nicht-kompatibelen Browsern.
localstorage ist nur in Opera seit 10.50, und zumindest für mich funktioniert es ganz gut es mit Ihrem Code.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow