На данный вопрос уже ответили:
У меня ситуация такова:
1.на основном окне в форме вводятся данные,
2.они не сохраняются,
3.затем эта форма открывается в отдельном окне,
4.которое сразу же закрывают.
При закритии стоит ивент onbeforeunload который должен привести в действие дефолтное модальное окно, а затем если пользователь нажал Cancel - появляется кастомное окно. Но в описаной выше ситуации отдельное окно закривается, только видно как мeлькает кастомное окошко. Модальное даже не показывается. Но при дебаге срабатывает как должно быть.
И если между 3 і 4 пунктами вставить клик в любой области отдельного окна - все тоже работает как должно.
Вот код связан с onbeforeunload (пробовала вставить window.focus();
внутри - не помогло):
var answerEvent = window.addEventListener('beforeunload', function (e) {
if (!this.reopenInTearOff && window.itemsVault.isDirtyEx(window.item)) {
confirmExitEditMode().then(function (shouldCloseWindow) {
if (shouldCloseWindow) {
window.close();
}
});
(e || window.event).returnValue = window.itemsVault.getResource('', 'item_methods_ex.changes_not_saved');
return window.itemsVault.getResource('', 'item_methods_ex.unsaved_changes');
}
});
Для борьбы с нежелательными всплывающими окнами некоторые браузеры не отражают подсказки, созданные перед обработкой событий, если только эта страница не взаимодействует; некоторые из них вообще не отображаются.
Источник: WindowEventHandlers.onbeforeunload
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как при нажатии на кнопку <button> запускать анимацию, сделанную при помощи @keyframes?