Windows.onunload Chrome
Opracowuję aplikację HTML5specjalnie dla Androida i Chrome. Problem, który mam, wynika z wymogu śledzenia otwartych kart przeglądarki. Robię to, tworząc unikalny identyfikator przechowywany w sesji każdej karty. Następnie śledzę otwarte karty rejestrując każdy identyfikator w tablicy localStorage, do której dostęp ma każda karta.
Problem polega na tym, że nie mogę usunąć identyfikatora z localStorage podczas zamykania karty za pomocą zdarzenia window.onunload. Kod działa dobrze w Chrome na pulpicie, ale nie mogę go uruchomić w Androidzie.
$(window).on('beforeunload', function () {
removeWindowGUID();
});
function removeWindowGUID() {
var guid = sessionStorage.getItem("WindowGUID");
var tmp = JSON.parse(localStorage.getItem("WindowGUIDs"));
tmp = tmp.remove(guid); // remove is a custom prototype fn
localStorage.setItem("WindowGUIDs", JSON.stringify(tmp));
}
To zdarzenie zostanie uruchomione podczas przeładowywania strony, co jest w porządku, po prostu nie przy zamykaniu. Próbowałem również użyć zdarzenia pagehide.