Android Chrome window.onunload
Estou desenvolvendo um aplicativo HTML5especificamente para Android e Chrome. O problema que tenho vem do requisito de rastrear as guias abertas do navegador. Eu faço isso criando um ID único armazenado na sessionStorage de cada guia. Em seguida, acompanho as guias abertas registrando cada ID em uma matriz localStorage à qual cada guia tem acesso.
O problema é que não consigo remover o ID do localStorage ao fechar uma guia usando o evento window.onunload. O código funciona bem no Chrome para computador, mas não consigo trabalhar no Android.
$(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));
}
Este evento será acionado ao recarregar uma página, o que é bom, mas não no fechamento. Eu também tentei usar o evento pagehide.