Muszę ostrzec użytkowników przed niezapisanymi zmianami, zanim opuszczą stronę (dość powszechny problem).
window.onbeforeunload=handler
To działa, ale wywołuje domyślne okno dialogowe z irytującą standardową wiadomością, która otacza mój własny tekst. Muszę albo całkowicie zastąpić standardowy komunikat, aby mój tekst był wyraźny, albo (jeszcze lepiej) zastąpić całe okno dialogowe modalnym oknem dialogowym za pomocą jQuery.
Jak dotąd zawiodłem i nie znalazłem nikogo, kto wydaje się mieć odpowiedź. Czy to w ogóle możliwe?
JavaScript na mojej stronie:
<script type="text/javascript">
window.onbeforeunload=closeIt;
</script>
Funkcja closeIt ():
function closeIt()
{
if (changes == "true" || files == "true")
{
return "Here you can append a custom message to the default dialog.";
}
}
Używając jQuery i jqModal Próbowałem tego rodzaju rzeczy (używając niestandardowego okna dialogowego potwierdzenia):
$(window).beforeunload(function() {
confirm('new message: ' + this.href + ' !', this.href);
return false;
});
co również nie działa - nie mogę się powiązać ze zdarzeniem beforeunload.