Ustawienie onbeforeunload na elemencie body w Chrome i IE za pomocą jQuery
Mam system, w którym chcę sprawdzić z użytkownikiem, czy są pewni, że chcą opuścić stronę po ustawieniu brudnej flagi.
Używam następującego kodu - W FireFox mogę patrzeć na źródło strony za pomocą FireBug, a tag poprawnie ma wstawiony atrybut onbeforeunload.
W Chrome i FireFox tak się jednak nie dzieje i jestem w stanie opuścić stronę bez żadnego ostrzeżenia. Linia jQuery do aktualizacji znacznika treści jest zdecydowanie wykonywana, po prostu jej nie wykonuje.
if ($("body").attr('onbeforeunload') == null) {
if (window.event) {
// IE and Chrome use this
$("body").attr('onbeforeunload', 'CatchLeavePage(event)');
}
else {
// Firefox uses this
$("body").attr('onbeforeunload', 'return false;CatchLeavePage(event)');
}
}
Jakieś pomysły, jak postępować stąd?