Android Chrome window.onunload

Ich entwickle eine HTML5-Appspeziell für Android und Chrome. Das Problem, das ich habe, ergibt sich aus der Anforderung, offene Browser-Registerkarten zu verfolgen. Dazu erstelle ich eine eindeutige ID, die im sessionStorage der einzelnen Registerkarten gespeichert ist. Anschließend verfolge ich die geöffneten Registerkarten, indem ich jede ID in einem localStorage-Array registriere, auf das jede Registerkarte Zugriff hat.

Das Problem ist, dass ich die ID nicht aus localStorage entfernen kann, wenn ich eine Registerkarte mit dem window.onunload-Ereignis schließe. Der Code funktioniert gut in Desktop Chrome, aber ich kann ihn nicht in Android zum Laufen bringen.

$(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));
}

Dieses Ereignis wird ausgelöst, wenn eine Seite neu geladen wird, was in Ordnung ist, nur nicht beim Schließen. Ich habe auch versucht, das pagehide-Ereignis zu verwenden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage