Opera localStorage игнорирует мою проверку на существование
-
23-09-2019 - |
Вопрос
if (localStorage)
{
var menushown = JSON.parse(localStorage.getItem("menuState"));
if (!menushown)
{
menushown = menuDefaultState;
}
}
else
{
menushown = menuDefaultState;
}
Приведенный выше JavaScript не работает в Opera 10.10.Он жалуется, что localStorage не определен во второй строке.Это верно, но из-за проверки в первой строке она никогда не должна доходить до второй строки и не завершаться сбоем.Что я делаю не так?
Решение
Использование if(window.localStorage)
, ваш текущий код, вероятно, вызовет предупреждение или ошибку в несовместимых браузерах.
localStorage доступен только в Opera с 10.50, и, по крайней мере, для меня он вполне нормально работает там с вашим кодом.
Не связан с StackOverflow