SetInterval окно сообщения обновления сбой страницы через перегрузку - PullRequest
0 голосов
/ 04 ноября 2018

Привет, у меня есть окно сообщения, и пользователи могут размещать сообщения. Я использую ajax для обновления сообщений и использую setinterval для автоматического обновления сообщения каждые 20 секунд. Однако код, который я использую, перегружает страницу интервальными вызовами. из приведенного ниже кода может кто-нибудь увидеть, где я ошибся и как я могу исправить это, чтобы интервалы были в одном цикле. * 1001 большое спасибо *

$(function(){


$(document).keypress(function() {
        clearInterval(running); 
    })

        var running = setInterval(function (){ 
        var varLISTID = document.getElementById('datacatch').getAttribute("data-variable-LISTID");  
        var varUSERACCOUNTNAME = document.getElementById('datacatch').getAttribute("data-variable-USERACCOUNTNAME");
        var mylink = "loadmessages.php?listID=" + varLISTID + "&useraccountname="+ varUSERACCOUNTNAME;
        $('#infobox1').load(mylink);
           },20000); //10s
});

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Используйте $(document).keydown(function() {...}) вместо. .keypress могут иметь проблемы, как указано в официальной документации здесь .

0 голосов
/ 04 ноября 2018
$(function(){



                var running = setTimeout(function (){ 
                alert('up');
                var varLISTID = document.getElementById('datacatch').getAttribute("data-variable-LISTID");  
                var varUSERACCOUNTNAME = document.getElementById('datacatch').getAttribute("data-variable-USERACCOUNTNAME");
                var mylink = "loadmessages.php?listID=" + varLISTID + "&useraccountname="+ varUSERACCOUNTNAME;
                $('#infobox1').load(mylink);
                   },20000);//10s


        $(document).keypress(function() {
                clearInterval(running); 
            })


    });

SetTimeout вместо setInterval решил проблему.

Спасибо.

...