2017-01-23 2 views
1

In meiner Anwendung verwende ich sessionStorage, um Daten auf der Clientseite zu speichern. Meine Anwendung funktioniert gut, aber ich möchte eine Behandlung von Clearing sessionStorage implementieren, wenn Browser-Fenster abgestürzt ist. Wie kann ich die sessionStorage löschen, wenn das Fenster abgestürzt ist.Clearing sessionStorage, wenn Browser abgestürzt ist

+0

interessant ... wenn der Browser stürzt ab - es session bewahrt, wenn neu gestartet ? –

+0

ja es behält die SessionStorage –

Antwort

0

Ich habe dies acheived von unten Code in meine Datei index.html Umsetzung:

window.addEventListener('load', function() { 
     sessionStorage.setItem('good_exit', 'pending'); 
     setInterval(function() { 
     sessionStorage.setItem('time_before_crash', new Date().toString()); 
     }, 1000); 
    }); 

    window.addEventListener('beforeunload', function() { 
     sessionStorage.setItem('good_exit', 'true'); 
    }); 

    if(sessionStorage.getItem('good_exit') && 
     sessionStorage.getItem('good_exit') !== 'true') { 
     /* 
     insert crash logging code here 
    */ 
     alert('Hey, welcome back from your crash, looks like you crashed on: ' + sessionStorage.getItem('time_before_crash')); 
    } 
1

nicht sicher, warum die Browser nicht alle sessionStogare beim Neustart nicht löschen, da das ist eindeutig eine neue Browser-Instanz ...

aber was Sie in Ihrer Anwendung tun können, ist immer zunächst klar eventuelle Rückstände

sessionStorage.clear(); // on application restart clear any eventual residues 

// Your program logic here 

Hier ist eine grundlegende Testbeispiel mit:

jsBin demo

// 1. let's clear it 
sessionStorage.clear(); 

// 2. Let's try to store a value 
document.querySelector("button").addEventListener("click", function(){ 
    sessionStorage.test = "TEST"; 
    document.body.textContent = sessionStorage.test; 
}); 

// 3. let's try to crash Chrome (copy this into a tab addressbar) 
// chrome://inducebrowsercrashforrealz 

// 4. on browser RESTORE we should see the button, not the stored value 
if(sessionStorage.test) document.body.textContent = sessionStorage.test; 
<button>CLICK TO STORE</button> 
Verwandte Themen