HTML5/JS存储事件处理程序

Ken*_*Ken 6 javascript html5 event-handling javascript-events addeventlistener

我正在使用safari webkit的引擎与HTML5和JS一起创建一个离线应用程序现在我正在使用sessionStorage数组来存储我的应用程序的状态(模拟).

存储数据与检查器工作正常,函数工作正常,它是没有响应的事件处理程序

http://jsfiddle.net/pvRgH/预先形成的测试Anurag在这里也不起作用

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";
    }
}
Run Code Online (Sandbox Code Playgroud)

jme*_*ase 14

如果从另一个窗口触发存储事件,则仅触发存储事件处理程序.

每次在Safari 5+中更新localStorage时,如何才能触发事件?


Anu*_*rag 0

您能否提供更多有关如何存储密钥的代码?它适用于我的 Safari - http://jsfiddle.net/pvRgH/