У меня такая ситуация:
Форма открывается на отрывном окне
Есть несохраненные изменения
Окно закрывается
В этих обстоятельствах мне нужно отобразить стандартное окно модуля,
и если пользователь нажимает «Отмена», то должно появиться окно подтверждения
Но в Chrome значок в окне подтверждения не появляется
В Firefox и IE значок появляется при одинаковых обстоятельствах.
Код события onbeforeunload:
window.addEventListener('beforeunload', function (e) {
// function where the confirm window is formed
showConfirmWindow();
return e.returnValue = window.getResource('', 'ex.unsaved_changes');
});
Путь к изображению правильный, потому что это окно используется не только здесь, а изображение отображается. Это только в Chrome и только при таких обстоятельствах. Я предполагаю, что Chrome экономит ресурсы, потому что окно закрывается - так зачем поднимать значок. Но, может быть, кто-то знает, как это исправить для Chrome?
Дополнительная информация: если добавить тайм-аут на 0 мс для функции, где формируется окно подтверждения - отображается значок
window.addEventListener('beforeunload', function (e) {
// function where the confirm window is formed
setTimeout(showConfirmWindow, 0);
return e.returnValue = window.getResource('', 'ex.unsaved_changes');
});
Но это плохое решение.