Подтвердить что ты не робот

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 для закрытия вкладки и закрытия окна во всех браузерах.

Пожалуйста, найдите мне решение

4b9b3361

Ответ 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";
    }
}