• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Seite aktuallisieren nur bei Änderung in DB mit JavaScript

Dj Boris

Mitglied
Hallo zusammen,
ich habe folgendes Problem:
Ich progge momentan ein Chat/Messageboard. Und da will ich, dass sich ein IFrame mit den Posings nur reloaded, wenn ein neuer Eintrag hinzukommt. Also, ein User postet etwas, der andere User merkt das, und die Site wird automatisch reloaded.

Momentane Situation:
In einem IFrame werden alle Postings in einer Tabelle dargestellt(via PHP), und es wird jede Sekunde via JavaScript reloaded.(ca 500-600Byte/s Traffic pro User).

Gibt es eine vernünftigere Lösung für mein Problem?
Ich hoffe dass ich es im richtigen Forum gepostet habe...

Gruss

Boris
 
Werbung:
Der Traffic ist bei den meisten LiveChats ein großes Problem, welches sich leider nicht umgehen lässt.

Um den Traffic zumindestens etwas zu reduzieren könnte man die Reload-Zeit nach der Menge an aktuellen Nutzern einstellen. Wenige Nutzer -> längere Reloadabstände; Viele Nutze -> kürzere Reloadabstände; (oder umgekehrt, da müsste man einen guten Mittelwert finden)
 
Hallo,

Danke für Deine schnelle Antwort!
Deinen Vorschlag werde ich sicher einbauen müssen. Aber da bleibt noch das Problem, dass der Ladebalken u.a. bei Firefox so nervös "zuckt" und die Statusleiste immer wieder das neuladen anzeigt, kann man das irgendwie wegbekommen (währe fast wichtiger als der Traffic)?

Gruss Boris
 
Werbung:
Per Ajax ne ID übermitteln an ein Skript das prüft, ob inzwischen eine neue ID vorhanden ist und wenn ja löst diese Ajax-Funktion ein Reload aus - ansonsten nicht.
 
Werbung:
Hallo, das mit der ID währe kein Problem, aber wie schaffe ich es mit AJAX die ID und den Aktuellen zustand zu vergleichen? Hat jemand einen Link?

Ohne einen zusätzlichen Zwischenschritt über den Webserver geht's nicht, wodurch also trotzdem ein paar hundert Byte an Traffic anfallen. Einen direkten Weg von Client zu Datenbankserver zu schaffen wäre Blödsinn, da der Client dann die Daten des DB-Benutzers ermitteln könnte.
 
Zurück
Oben