У меня есть система, в которой я хочу проверить с пользователем, если они уверены, что хотят покинуть страницу, как только будет установлен грязный флаг.
Я использую следующий код. В FireFox я могу посмотреть источник страницы через FireBug, и в теге правильно добавлен атрибут onbeforeunload.
В Chrome и FireFox этого не происходит, и я могу свободно перемещаться от страницы без каких-либо предупреждений. Строка jQuery для обновления тега body, безусловно, выполняется, она просто не выполняет его.
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)');
}
}
Любые идеи, как исходить отсюда?