Autor Zpráva
visionic
Profil *
Dobrý den,

doufám, že mi tu z vás někdo poradí. Mám například chat kterej pomocí JQUery.load() a intervalu mi aktualizuje obsah každé tři vteřiny. Vše funguje skvěle, ale přijde mi zbytečné load() vyvolávat každé tři vteřiny, pokud se obsah nezměnil.

Tedy moje idea:
Každé 3 vteřiny zjišťovat, jestli v souboru php se změnil obsah a nebo je stejný a poté vyvolat load().

Bohužel, ale nevím jak tuto podmínku vyvolat.

Předem díky.
Keeehi
Profil
Nejnáročnější je na tom celém pravděpodobně ta komunikace. Jestli už se něco přidá do DOMu je už pak skoro jedno. Proto bych to vůbec neřešil.
visionic
Profil *
Duvodem je, ze tam mam podminku, pokud uzivatel je odscrollvan uplne dole, tak pri loadu ho to scrollne znovu dolu (to znamena, ze pokud je tam novy prispevek, tak ho to jeste jednou odscrolluje a to funguje na vybornou, ale problem nastava, kdyz ten novy prispevek neni a uzivatel ma odscrollovano dole, tak to obcas nechutne poskakuje kdyz chci odscrollovat nahoru a tohle by bylo dobre reseni)
Keeehi
Profil
Tak použij get. A před tím než vložíš data si zkontroluješ, zda se liší.
visionic
Profil *
Takze takhle je to spravne? Nejsem tedka u toho meho scriptu, tak to nemuzu vyzkouset.
                setInterval(function() {
                
                    $.get( "online.php", function( data ) {
                        var kontrola = data;
                     });
                     
                     var nactene = $( "#chat" ).html();
                     
                     if (kontrola != nactene) {

                         $( "#chat" ).load( "chat.php?prom2=<?php print $prom2;?>" );
                         
                     }
                                       
                }, 3000);



$.get( "chat.php", function( data ) <---- oprava

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0