Предупреждение перед закрытием страницы: как изменить стандартное сообщение Chrome?

Я использую следующий фрагмент кода, чтобы вызвать предупреждение перед закрытием страницы, но Chrome, похоже, игнорирует это сообщение и отображает сообщение по умолчанию: «Вы хотите покинуть этот сайт? Внесенные вами изменения могут быть не сохранены». Как сделать так, чтобы chrome показывал мое сообщение вместо сообщения по умолчанию?

window.onbeforeunload = function(e) {
    e.returnValue = "A search is in progress, do you really want to stop the search and close the tab?";
    return "A search is in progress, do you really want to stop the search and close the tab?";
}
 guest27131415 июн. 2016 г., 02:12
Пользовательское сообщение отображается на хром 50
 charlietfl15 июн. 2016 г., 02:16
У разных поставщиков браузеров зависит, разрешают они пользовательское сообщение или нет. Если они этого не делают, вы ничего не можете с этим поделать

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

Я только недавно понял, что Chrome изменил поведение onbeforeunload. Я нашел обходной путь, который работает для основных браузеров (протестировано в Chrome, Firefox и IE, jsFiddle почему-то не работает в Firefox, но мой веб-сайт работает). Используя jQuery UI, вы можете создать диалоговое окно при выходе из страницы, которое дает больше информации о том, почему выход из текущей страницы может быть проблемой.

window.onbeforeunload = function (e) {
    $('<div title="Warning!">A search is in progress, do you really want to stop the search and close the tab? If not, choose "Stay on page" on the browser alert.</div>').dialog({
        modal:true,
        close: function(){$(this).dialog('destroy').remove();}
    });
    return "Random message to trigger the browser's native alert.";
}

jsFiddle здесь

 Pritesh Acharya28 сент. 2016 г., 17:48
Не работает Chrome 51 и выше.

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