Odświeżanie shoutboxa

Odświeżanie shoutboxa
pavon147
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam!

Mam prosty shoutbox działający w oparciu o jQuery i AJAXa, oczywiście PHP + SQL również. Odświeżanie shoutboxa odbywa się co 10 sekund i w momencie odświeżenia następuje krótkie przycięcie inputa, w którym wprowadza się wiadomość. Po prostu gdy piszemy, to zjada literkę. Gdybym odświeżał shoutbox co 1 sekundę, to 'lagi' byłyby jeszcze większe, praktycznie nie dałoby się pisać. Odświeżanie zachodzi przy użyciu AJAXa poprzez jQuery, funkcja uruchamia się dzięki setInterval.

Jak odświeżać takie skrypty jak czat, shoutbox, aby nie zachodziły żadne przycięcia?

Pozdrawiam i dziękuję za odpowiedzi :)

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
0

Pokaż kod?

pavon147
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj

var response ="";
var temp ="";

function refresh_chat()
{
    $.ajax({ 
               type: "post",   
               url: "database.php",   
               async: false,
               success : function(text)
                             {
                              response = text;
            
                              if(response!=temp){$("#d").html(response);$('#d').animate({ scrollTop: $('#d')[0].scrollHeight}, 700);}
            
                              temp=response;
                             }
            });

}

$(document).ready(function(){

    refresh_chat();

    setInterval("refresh_chat()", 10000);

});

Plik database.php wypluwa po prostu rekordy z bazy standardowym sposobem z petla while i mysql_fetch_array(); (Pobieram tylko ostatnie 30 rekordów).

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
1

Tak jak myślałem. async dlaczego jest na false?

pavon147
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki, to był błąd, teraz już wszystko działa :) Temat do zamknięcia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.