Autor | Zpráva | ||
---|---|---|---|
visionic Profil * |
#1 · Zasláno: 9. 1. 2017, 20:10:16
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 |
#2 · Zasláno: 9. 1. 2017, 21:05:02
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 * |
#3 · Zasláno: 11. 1. 2017, 03:44:51
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 |
#4 · Zasláno: 11. 1. 2017, 11:26:41
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 |
||
Časová prodleva: 8 let
|
0