Opera localStorage игнорирует мою проверку на существование

StackOverflow https://stackoverflow.com/questions/2148462

  •  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, и, по крайней мере, для меня он вполне нормально работает там с вашим кодом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top