Beforeunload требует некоторого взаимодействия с веб-страницей, прежде чем она запускается при закрытии страницы - PullRequest
1 голос
/ 07 апреля 2020

Я экспериментирую с событием beforeunload. Вот пример прямо из MDN:

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <script>
        window.addEventListener('beforeunload', function (e) {
            e.preventDefault(); 
            e.returnValue = '';
        });
     </script>
     <body></body>
</html>     

После нажатия клавиши F5 (или закрытия вкладки / браузера) браузер должен спросить, действительно ли я хочу покинуть страницу до того, как страница действительно закроется.

И это так. Но это происходит только после некоторого взаимодействия с веб-страницей до , например, нажатие клавиши F5. Под взаимодействием я подразумеваю, например, щелчок в любом месте окна или нажатие любой клавиши на клавиатуре.

Если я нажму F5 сразу после загрузки страницы без нажатия или нажатия какой-либо клавиши, страница закроется без запроса браузера.

Может кто-нибудь объяснить это?

РЕДАКТИРОВАТЬ: Это было проверено с Firefox, Chrome и Edge.

...