Retour

Evénement onunload

C’est quoi l’événement "unload" ?

L'événement "unload" se produit lorsque l’utilisateur quitte une page; ou lorsque l’utilisateur clique sur un lien, un envoi de formulaire, ferme la fenêtre de son navigateur, lorsqu’on revient sur la page précédente, etc. A l’inverse, l’événement "load" intervient quand la page a fini de charger. 

Pourquoi c’est important ?

Les attributs "onUnload" et "onLoad" sont intégrés dans les balises <body> en HTML ou <frameset> en JavaScript.
Cependant, l’événement unload ne fonctionne pas cas, notamment sur mobile, quand :

  • on ferme l’onglet d’une page web à partir du sélecteur d’onglet 
  • on ferme l’application du navigateur à partir du sélecteur d'applications

De plus, la présence d’un événement "unload" peut empêcher les navigateurs de placer des pages en cache ou en arrière-plan lors de la navigation.

Par exemple : 

Si vous êtes sur une application web qui lit une vidéo et que vous décidez en même temps de consulter une autre application, l’événement unload peut empêcher à l’application contenant la vidéo de s’arrêter. L’unload empêchera cette application d’être considérée comme en arrière-plan, ce qui ne permettra pas à la vidéo d’être interrompue en basculant sur une autre application ou page web.

Comment résoudre ce problème ?

Il est recommandé sur tous les navigateurs modernes, d’utiliser l’événement "pagehide" pour détecter les déchargements de page, c’est-à-dire lorsqu’on l’a quittée.