我正在使用 Safari webkit 的引擎以及 HTML5 和 JS 来创建一个离线应用程序,现在我正在使用sessionStorage
数组来存储我的应用程序的状态(模拟)。
存储数据与检查器一起工作正常,功能工作正常,只是事件处理程序没有响应。
执行的测试Anurag
at http://jsfiddle.net/pvRgH/在这里也不起作用:
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";
}
}
仅当从另一个窗口触发存储事件时,存储事件处理程序才会触发。
如何在 Safari 5+ 中每次更新 localStorage 时触发事件?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)