Обработчик событий хранилища Javascript возвращает неопределенный - PullRequest
1 голос
/ 15 ноября 2011

Я пытаюсь устранить неисправность этого путем захвата любых событий хранения, которые удаляют значения из локального хранилища.У меня есть всегда открытая фиктивная страница, которая запускает прослушиватель событий при загрузке следующим образом:

  window.addEventListener("storage", function (evt) { if (evt.newValue == null || (evt.oldValue != "" && evt.newValue == "")) {alert(evt.url);} });

Слушатель срабатывает очень хорошо.Это не проблема.Моя проблема в том, что оповещение (evt.url) возвращает «неопределенный» в мобильных браузерах.Отлично работает на Chrome.

Устройство - Samsung Galaxy Tab с ОС Gingerbread.Браузеры Dolphin HD и стандартный веб-браузер.

Редактировать: пробовал на iPhone, и все отлично работает на Safari.Кроме того, проблема, похоже, относится только к атрибуту url.oldValue, newValue и key все возвращаемые значения.

1 Ответ

1 голос
/ 18 ноября 2011

Насколько я понимаю, события веб-хранилищ имеют очень ограниченную популярность среди браузеров, большинство реализаций на сегодняшний день являются частичными, только Opera (и Chrome) приближаются к стандарту W3C.См. Википедию и в этом блоге .

Не думаю, что это слишком далеко, что хотя версии Chrome для настольных компьютеров поддерживают «события» в веб-хранилище (отчасти)эта функциональность не была перенесена на большинство устройств Android, которые для обновления своих браузеров используют обновления системы (а не через рынок приложений).

...