Javascript закрывает окно, а не выгружает событие для всех браузеров
Я хочу предупредить пользователя, когда пользователь пытается закрыть браузер с отсутствием siginingoff или без сохранения некоторых настроек.
Я делю выгрузить вариант на другой странице, чтобы предупредить выгрузку данных, но как я могу предупредить пользователя о window.close(его не принимать)
window.onbeforeunload = confirmExit;
function confirmExit(){
if(readCookie("onlineVD") == "playing" && Confirm_Delete=="0")
{
return "You are leaving a video which is in play mode.Are you sure want to exit this page?";
}
else{
Confirm_Delete="0";
}
}
Я хочу, чтобы window.close для закрытия вкладки и закрытия окна во всех браузерах.
Пожалуйста, найдите мне решение
Ответы
Ответ 1
Код события, с которым вы, похоже, работает, когда я его тестирую. Вам просто нужно вернуть false, чтобы остановить закрытие браузера. Пользователю будет задан вопрос, уверены ли они, что они хотят перейти от страницы.
Я использую эту сокращенную версию вашего кода:
window.onbeforeunload = confirmExit;
function confirmExit(){
alert("confirm exit is being called");
return false;
}
Ответ 2
Документация Mozilla указывает, что вы должны установить event.returnValue вместо простого возврата строки:
window.onbeforeunload = confirmExit;
function confirmExit(e){
if(readCookie("onlineVD") == "playing" && Confirm_Delete=="0")
{
var msg = "You are leaving a video which is in play mode.Are you sure want to exit this page?";
if (e) {
e.returnValue = msg;
}
return msg;
}
else{
Confirm_Delete="0";
}
}