Как мне предотвратить обновление страницы клиентом?

#javascript #node.js #block #page-refresh

#javascript #node.js #блокировать #страница-обновить

Вопрос:

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

Вот мой код для client.html:

 <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">

     <script
  src="https://code.jquery.com/jquery-3.3.1.js"
  integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
  crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/pusher/4.2.2/pusher.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.7.0/canvasjs.min.js"></script>
     <script src="mainClients.js"></script>


    <title>Clients</title>
</head>

<body onload="RunOnBeforeUnload()">



<div id ="main">

  <div class="container" id = "1">

    <h1 id="questionIndex"></h1>
    <p id="question"></p>
    <form id="vote-form">

    </form>

    <br><br>

  </div>

    <script type="text/javascript">

         let url = window.location.search;
         code = url.substr(url.indexOf("=") 1);
         generatePageContents('questionIndex', 'question', 'vote-form', 'http://localhost:5000/QueryQuestion', code, 1)
     </script>

     <script type="text/javascript">
        if(typeof(form) == 'undefined') {
            const form = document.getElementById('vote-form');
            vote(form, 'os', 'submitId', 'http://localhost:5000/poll');

        }else {
            vote(form, 'os', 'submitId', 'http://localhost:5000/poll');
        }
    </script>

<script type="text/javascript">
    questionListener('topic-change', 'topic-change', 'questionIndex', 'question', 'vote-form', 'http://localhost:5000/QueryQuestion', code);
</script>

<script language="javascript">
function RunOnBeforeUnload() {window.onbeforeunload = function(){ return '!'; } }


</script>

</div>

</body>

</html>
  

Кто-нибудь здесь знает, как справиться с этой задачей? Я думаю, что это должно быть довольно просто, но я ничего не могу найти в Интернете

Комментарии:

1. Вы этого не делаете, это браузер пользователя, и они делают со своими браузерами то, что им нравится.

2. Но я хотел бы отключить его доступ к моей странице, если он перезагрузит страницу

3. Ах, тогда это совершенно другая задача.

4. Какова конечная цель? Речь идет о том, чтобы запретить пользователям голосовать дважды? Если это так, попытка предотвратить перезагрузку страницы — неправильный подход.

5. Я просто хочу отключить его доступ к моей странице, если он перезагружает страницу.