Как получить событие, которое будет запускаться при каждом обновлении localStorage в Safari 5+?

Я попытался следовать примерам на сайте разработчика 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();
    }
}

Но мне тоже не повезло.

Я что-то не так делаю? Это ошибка?

11
задан Cœur 15 June 2019 в 10:35
поделиться