Я пытался следовать примеры на сайте разработчиков Safari.
В документации предлагается добавить прослушиватель событий следующим образом:
window.addEventListener('storage', storage_handler, false);
А затем установите функцию обработчика следующим образом:
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);
}
Но я не могу заставить этот код работать ни на моем компьютере (OS X 10.6, Safari 5.01), ни на Safari на моем iPhone 3GS (iOS 4.02).
В этой статье предлагается отдельный метод:
window.onload = function() {
...
document.body.setAttribute("onstorage", "handleOnStorage();");
}
function handleOnStorage() {
if (window.event && window.event.key.indexOf("index::") == 0){
$("stats").innerHTML = "";
displayStats();
}
}
Но и с этим мне не повезло.
Я делаю что-то неправильно? Это ошибка?