Avec l'événement Javascript onbeforeunload, est-il possible de faire autre chose qu'une boîte de dialogue d'alerte ?

StackOverflow https://stackoverflow.com//questions/20002908

Question

Dans tous les exemples de code que j'ai vus, il semble que la seule fonction de onbeforeunload est d'afficher une boîte de dialogue d'alerte avant que la personne ne quitte la page.Est-ce la seule chose qui peut être déclenchée par l'événement ou est-il possible de faire autre chose, comme une fonction discrète qui envoie des données de formulaire partielles ?

J'essaie de capturer les paniers abandonnés dans Yahoo!Small Business et malheureusement, je n'ai accès à aucun script côté serveur, je suis donc obligé de travailler uniquement côté client.

Je pensais également publier les données en ajax après la modification du champ de courrier électronique, puis comparer la liste de tous les formulaires partiellement soumis avec les paniers terminés pour déterminer lesquels étaient incomplets.

Était-ce utile?

La solution

Vous pouvez enregistrer les données partielles du formulaire dans localStorage.Ensuite, lorsqu'une autre page est chargée, vous pouvez vérifier la présence de ces données et les AJAX sur le serveur, en les supprimant de localStorage sur le succès.Ou vous pourrez peut-être simplement utiliser ces données en JavaScript, sans impliquer le serveur, mais cela dépend de votre configuration.

Autres conseils

<body onbeforeunload="return ('You will lose all your data')" onunload="alert('You have gone away!')"> </body>

Onbeforeunload utilise pour la boîte d'alerte. Onunload pour autre chose.

vous peut tirez-vous techniquement sur un événement AJAX, mais il y a aucune garantie qu'elle terminera avant que la page soit réellement rechargée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top