запретить onbeforeunload закрывать страницу в любом случае


Я хочу запретить браузеру закрывать страницу в любом случае или в другом случае, запретить браузеру делать что-либо, когда onbeforeunload вызывается. Вот мой код, который я попробовал.

 (function() {
    var proxied = window.onbeforeunload;
    window.onbeforeunload = function(e) {
        e.preventDefault();
        e.stopPropagation();
            //i want to stop everything
        console.log('stay here');
        // return 'message';
    };
})();
  • я хочу выполнить действие перед тем, как покинуть страницу (отключить чат)
2 3

2 ответа:

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

Нет способа остановить браузер для закрытия. Браузер не позволяет вам этого делать.