Jas*_*son 11 html safari local-storage
我试图按照Safari开发者网站上的示例进行操作.
文档建议添加一个事件监听器,如下所示:
window.addEventListener('storage', storage_handler, false);
Run Code Online (Sandbox Code Playgroud)
然后像这样设置处理函数:
function storage_handler(evt)
{
alert('The modified key was '+evt.key);
alert('The original value was '+evt.oldValue);
alert('The new value is '+evt.newValue);
alert('The URL of the page that made the change was '+evt.url);
alert('The window where the change was made was '+evt.source);
}
Run Code Online (Sandbox Code Playgroud)
但我似乎无法在我的机器(OS X 10.6,Safari 5.01)上使用此代码,也无法在我的iPhone 3GS(iOS 4.02)上使用Safari.
本文提供了一个单独的方法:
window.onload = function() {
...
document.body.setAttribute("onstorage", "handleOnStorage();");
}
function handleOnStorage() {
if (window.event && window.event.key.indexOf("index::") == 0){
$("stats").innerHTML = "";
displayStats();
}
}
Run Code Online (Sandbox Code Playgroud)
但我也没有任何运气.
难道我做错了什么?这是一个错误吗?
Jas*_*son 20
在进一步调查之后(并在朋友的帮助下),我发现当我在当前窗口或选项卡中的页面上localstorage值的值发生更改时,不会调用storage_handler方法,而是在另一个选项卡中更改时.
例如,如果我打开了两个选项卡,并在每个选项卡的页面中有控件来更改localstorage设置,那么当我在第一个选项卡中点击控件时,将在另一个选项卡中调用storage_handler方法.
| 归档时间: |
|
| 查看次数: |
15470 次 |
| 最近记录: |