Unload Listener

Come impostare correttamente l'evento di unload

Accessibility

Come impostare correttamente l'evento di unload

unload listener

Non si dovrebbe mai trattare l'evento unload come una callback garantita, usandolo come segnale per la fine della sessione per inviare gli analytical data e salvare lo stato.

Spesso, infatti, in molte situazioni di download l'evento unload non si attiverà.

Bisogna sempre affidarsi all'evento visibilitychange se si vuole determinare quando una sessione termina e, come ultimo momento attendibile per salvare sia i dati dell'applicazione che quelli dell'utente, occorre considerare lo stato hidden.

È possibile impedire ai browser di memorizzare nella cache le pagine Back-Forward solo in presenza di un gestore di eventi unload registrato (tramite onunload o addEventListener()).

È quindi consigliabile utilizzare l'evento pagehide su tutti i browser moderni (compreso IE11) per rilevare l'unload della pagina.

const terminationEvent = 'onpagehide' in self ? 'pagehide' : 'unload';

addEventListener(terminationEvent, (event) => {
  // Note: if the browser is able to cache the page, `event.persisted`
  // is `true`, and the state is frozen rather than terminated.
}, {capture: true});

Condividi questa Guida.

Ti è piaciuta? Condividila!

Share it!

Web tools per sviluppatori moderni. Provali!

Generatori, builder e validatori per migliorare le tue performance di ottimizzazione SEO e web

Home Back to top of the page