J'ai besoin d'avertir les utilisateurs des modifications non enregistrées avant de quitter une page (un problème assez courant).
window.onbeforeunload=handler
Cela fonctionne mais cela déclenche une boîte de dialogue par défaut avec un message standard irritant qui enveloppe mon propre texte. J'ai besoin de remplacer complètement le message standard, donc mon texte est clair, ou (encore mieux) de remplacer la boîte de dialogue entière par une boîte de dialogue modale utilisant jQuery.
Jusqu'à présent, j'ai échoué et je n'ai trouvé personne d'autre qui semble avoir une réponse. Est-ce même possible?
Javascript dans ma page:
<script type="text/javascript">
window.onbeforeunload=closeIt;
</script>
La fonction closeIt ():
function closeIt()
{
if (changes == "true" || files == "true")
{
return "Here you can append a custom message to the default dialog.";
}
}
En utilisant jQuery et jqModal, j'ai essayé ce genre de chose (en utilisant une boîte de dialogue de confirmation personnalisée):
$(window).beforeunload(function() {
confirm('new message: ' + this.href + ' !', this.href);
return false;
});
qui ne fonctionne pas non plus - je n'arrive pas à me lier à l'événement beforeunload.