5

HTML5 및 JS와 함께 사파리 웹킷의 엔진을 사용하여 오프라인 애플리케이션을 만듭니다. 이제 sessionStorage 배열을 사용하여 내 애플리케이션 (시뮬레이션)의 상태를 저장하고 있습니다.HTML5/JS 저장 이벤트 핸들러

저장 데이터 수는 http://jsfiddle.net/pvRgH/Anurag에 의해 preformd 테스트가 여기

window.addEventListener('storage', storageEventHandler, false); 
function storageEventHandler(evt){ 
    alert("storage event called key: " + evt.key); 
    switch(evt.key){ 
     case 'bat1': 
     case 'bat2': batteryDCMeter(); break; 
     case 'extPowerOn': rechargeBattery(); break; 
    } 
} 

function load() 
{ 
    dashcode.setupParts(); 
    //set HTML 5 key/value's 
    sessionStorage.setItem('bat1', 'OFF'); 
    sessionStorage.setItem('bat2', 'OFF'); 
    sessionStorage.setItem('bat1DC', '26.2'); 
    sessionStorage.setItem('bat2DC', '26.2'); 
} 

function bat1OnOff(event) 
{ 
    if(sessionStorage['bat1'] == 'OFF'){ 
     sessionStorage['bat1'] = 'ON'; 
    }else{ 
     sessionStorage['bat1'] = "OFF"; 
    } 
} 


function bat2OnOff(event) 
{ 
    if(sessionStorage['bat2'] == 'OFF'){ 
     sessionStorage['bat2'] = 'ON'; 
    }else{ 
     sessionStorage['bat2'] = "OFF"; 
    } 
} 

답변

0

작동하지 않습니다

를 응답하지 않는 이벤트 처리기의 기능이 잘 작동 조사관과 함께 잘 작동 키를 저장하는 방법에 대한 더 많은 코드를 제공합니까? 그것은 나를 위해 사파리에서 작동합니다 - http://jsfiddle.net/pvRgH/

+0

코드를 제공 한 링크가 그 결과를 제공하지 않습니다. 더 많은 코드에 대한 업데이트 된 질문 확인 – Ken

+0

스토리지 이벤트 핸들러가 호출되었음을 알리는 경고가 표시되지 않습니까? 어떤 버전의 Safari에서 테스트하고 있습니까? – Anurag

+0

아무 일도 일어나지 않습니다. Safari 5.0 (6533.16) MacOSX 10.6.3 – Ken

0

브라우저에서 다른 탭으로 발생한 '저장'이벤트. 한 페이지에서 저장 영역을 변경하고이 페이지에서도 addEventLister를 변경하면 창에서 메시지를 잡을 수 없습니다. 예를

에 대한

당신이 두 페이지, pageOne 변화 저장이 pageTwo는 '저장'메시지를 캐치하고이를 처리하지만, pageOne 메시지를 잡을 수 있습니다.