window.onbeforeunload не отображает окно предупреждения

Я просто хочу показать сообщение перед тем, как покинуть страницу, но мой код не работает:

window.onload=function(){
    alert("Page with a digital clock");
    setInterval(clock,1000);
}

window.onbeforeunload=function(){
    alert("Are you sure to leave this page?");
}

«Оповещение о загрузке» работает нормально, но второе не работает.


person Alex    schedule 19.11.2013    source источник


Ответы (1)


Вы не можете поместить предупреждение внутри перед выгрузкой. Большинство браузеров сделают это за вас, поэтому вам не нужно это обрабатывать, вместо этого вам нужно вернуть методу сообщение подтверждения:

window.onbeforeunload=function(){
    return "Are you sure to leave this page?";
}

Вот документы для метода на MDN.

Когда это событие возвращает непустое значение, пользователю предлагается подтвердить выгрузку страницы. В большинстве браузеров возвращаемое значение события отображается в этом диалоговом окне.

person CodingIntrigue    schedule 19.11.2013
comment
См. stackoverflow.com/a/21456013/6798110, чтобы это работало в Firefox/IE. - person jmcker; 30.04.2021