2014-04-10 18 views
10

Czy istnieje sposób na wykrycie wszelkich zmian w localStorage HTML5, a następnie wywołanie niektórych funkcji, jeśli rzeczywiście są jakieś zmiany? Mam zapisane klucze o nazwach "e1", "e2", "e3" i tak dalej ...Wykrywanie jakiejkolwiek zmiany w localStorage?

Chcę wykryć, czy jakiś klucz został usunięty lub dodany, a następnie uruchomić niektóre funkcje, jeśli istnieje dowolna zmiana ...

+0

możliwy duplikat [Jak powiązać zdarzenie zmiany localStorage za pomocą jQuery dla wszystkich przeglądarek?] (Http://stackoverflow.com/questions/4671852/how-to-bind-to-localstorage-change-event-using- jquery-for-all-browsers) – Blazemonger

Odpowiedz

13

Według specyfikacji Storage interfejs emituje storage event na obiektach globalnych, na które wpływa.

Więc w twoim przypadku może po prostu dodać handler

window.addEventListener("storage", function() { 
    // do your checks to detect 
    // changes in "e1", "e2" & "e3" here 
}, false); 

Nie ma potrzeby jQuery nawet.

+0

To nie działa dla mnie. http://i.imgur.com/IEAfOAE.jpg – madprops

+1

@madprops, ponieważ zdarzenia będą uruchamiane na dodatkowych kartach (w tej samej domenie), a nie na karcie głównej. https://stackoverflow.com/a/4689033/1221082 – Denis

Powiązane problemy