Devo avvertire gli utenti delle modifiche non salvate prima che lascino una pagina (un problema abbastanza comune).
window.onbeforeunload=handler
Funziona ma genera una finestra di dialogo predefinita con un messaggio standard irritante che avvolge il mio testo. Devo sostituire completamente il messaggio standard, quindi il mio testo è chiaro, o (ancora meglio) sostituire l'intera finestra di dialogo con una finestra di dialogo modale utilizzando jQuery.
Finora ho fallito e non ho trovato nessun altro che sembra avere una risposta. È anche possibile?
Javascript nella mia pagina:
<script type="text/javascript">
window.onbeforeunload=closeIt;
</script>
La funzione closeIt ():
function closeIt()
{
if (changes == "true" || files == "true")
{
return "Here you can append a custom message to the default dialog.";
}
}
Usando jQuery e jqModal ho provato questo tipo di cose (usando una finestra di conferma personalizzata):
$(window).beforeunload(function() {
confirm('new message: ' + this.href + ' !', this.href);
return false;
});
che inoltre non funziona - non riesco a legarmi all'evento beforeunload.