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

위의 JavaScript는 Opera 10.10에서 실패합니다. 그것은 두 번째 라인에서 localStorage가 정의되지 않았다고 불평합니다. 이것은 사실이지만, 첫 번째 라인의 점검으로 인해 두 번째 라인에 도달해서는 안되며 실패하지 않아야합니다. 내가 뭘 잘못하고 있니?Opera localStorage가 내 존재 체크를 무시합니다.

답변

1

if(window.localStorage)을 사용하면 현재 코드가 호환되지 않는 브라우저에서 경고 또는 오류를 일으킬 수 있습니다.

localStorage는 10.50 이후에만 Opera에서 사용할 수 있으며, 적어도 자신의 코드와 함께 꽤 잘 작동합니다.

관련 문제