ugrás a tartalomhoz

Div tartalmának frissítése ajaxal.

rokkok · 2008. Okt. 18. (Szo), 10.11
Sziasztok!

Egy olyan gondom lenne, hogy oldalon belül szeretnék egy adott divet frissíteni. Nem teljes oldalletöltés kell hanem vmi olyan szkript ami div id alapján csak az adott divet frissítí be. Ez egy kis chat script lesz és, hogy a júzernek ne kelljen az új bejegyzésekért a böngészőben refrest nyomnia teljes oldalletöltéssel, hanem automatikusan frissítené a div tartalmát x másodpercenként. A divbe nem php include-dal van behúzva a tartalom hanem közvetlenül van megjelenítve. Olyat találtam ami divbe beágyazott url-t frissítget, de sajna nekem közvetlen tartalom van nem inklúdolt.

Ha esetleg vki találkozott ezzel a problémával, és tudta orvosolni azt kérném, hogy homályosítson fel. :)

Üdv: rokkok
 
1

ezer

zzrek · 2008. Okt. 18. (Szo), 13.35
Van ezer leírás ajaxról, megnézed valamelyiket és tiszta lesz a kép.
De akár ezt is kipróbálhatod, tanulmányozhatod:
HTML include
Az ajax segítségével kliens oldalon teszed a div-be a tartalmat, így az biztos, hogy ha az a gondod, hogy php-ban nem include-dal van belerakva, hanem közvetlenül, akkor még kicsit messze jársz a megértésétől (vagy én értettem félre amit írtál), szóval hajrá!
2

Egyedi eset.

rokkok · 2008. Okt. 18. (Szo), 13.54
Szia!

Nem azért hagytam ki az inklúdot mert bot vagyok egy lekérdezéshez. :) Hanem mert eleve egy központi base.php-ból jön le a tartalom, és ebben a php-ban van a nevetett div is. Így egy inklúdolt tartalomba inklúdot betenni badarság lenne. A példa scriptet köszi! Tanulmányozom. :)
3

Én is linekelek!

Ustak · 2008. Okt. 18. (Szo), 20.30
Ajax chat, hátha segít:

JSON (ejtsd: Dzsézön :-)

Üdv!
4

Meglett a megoldás. :)

rokkok · 2008. Okt. 24. (P), 18.36
Az elkerülte a figyelmemet, hogy ajax-al postoltatok ami egy külön php oldalt hív meg tehát van rá egy egyszerű bár annál nagyszerűbb megoldás. Történetesen ez:

new Ajax.PeriodicalUpdater('ide jön a div id-je', 'ide a meghívandó oldal ami a divbe van', {
method: 'get', frequency: 3, decay: 1
});

És máris kész. Vagy js include-al vagy headben lekéréssel vagy akár közvetlen js lekéréssel is lehívható. A frequency: rész a másodpercet jelöli, hogy milyen gyakorisággal akarom befrissítettni az adott div tartalmát. Nincs oldal frissítés, sem bevillanás, de még a scrollbart sem piszkálja ha mondjuk a dive overflow-ja auto. :)

Azért köszi a tippeket!