Установка onbeforeunload для элемента body в Chrome и IE с помощью jQuery

У меня есть система, в которой я хочу проверить у пользователя, уверены ли они, что хотят покинуть страницу после установки грязного флага.

Я использую следующий код - в 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)');
    }
}

Есть идеи, как действовать дальше?

Ответы на вопрос(5)

Ваш ответ на вопрос