Mit javascript die seite aktualisieren wenn ein datenbankeintrag dazukommt
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abschicken
aktualisieren
aufwand
code
einfachen grund
feld
funktion
geladenen daten
greifen
input
jeweilige szenario
ladezeit
nachricht
paar
rohdaten
sekunde
update
url
verzichten
vorliegen
-
Hallo
ich möchte auf meine homepage einen php live chat machen.
nun hab ich das problem das die seite sich noch irgendwie automatisch aktualisiert wenn eine neue nachricht dazu kommt.
hat da jemand eine idee wie das gehen könnte?
LG:ChatVZ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Erstmal von alleine gar nicht.
Du musst per Javascript im Hintergrund einen (asynchronen) Request an den Server schicken und nachfragen ob bereits neue Nachrichten vorliegen. Wenn neue vorliegen bekommst du diese mitgeschickt und musst sie nur noch anzeigen. Google mal nach AJAX und les dich in die Thematik ein. Damit kann man das bewerkstelligen. -
Ist für den Benutzer aber schlechter, da dieser dann immer erst die gesamte Seite neuladen und aufbauen muss. Lieber mehr Aufwand und dafür mehr Eleganz.
-
wie wäre es mit einem iframe?
wäre sofern ich weiß sogar schneller als ajax...
Beitrag zuletzt geändert: 6.5.2009 17:45:49 von goldeneye -
Wäre besser aber auch nicht optimal. Ajax ist so schnell wie du es einstellst. Du kannst theoretisch alle 100ms einen Request abschicken. Immerhin lässt man sich nur die Rohdaten liefern und nicht eine komplette Seite. Man kann den Text auch bereits formatiert senden, aber das kommt ganz auf das jeweilige Szenario drauf an.
-
Machs doch so:
- In dem IFrame werden nur die Nachrichten angezeigt
- Unter dem IFrame (also auf der Seite wo das IFrame eingeblendet ist) ist das input Feld
- Und nun müsste es schon besser funktionieren.
Hoffentlich hilfts!
telelo -
Also, mit iframes würde ich das nicht machen, aus dem einfachen Grund, dass es ein IFrame ist und auch weil das deutlich userunfreundlicher wirkt.
Wenn dus mit Ajax machst, ein Paar Anregungen:
Du führst alle Paar Sekunden, in diesem Fall zwei iene Aktualisierung durch:
setTimeout('update();', 2000);
Inder update()-Funktion führst du einen Ajaxrequest aus und fügst das Ergebnis da ein, wo du deine Einträge halt haben willst, in diesem Beispiel in das div #chatdata.
Der einfachkeit halber, würde ic hdarauf verzichten alles selbst zu erstellen, sondern würde zu einem fertigen Framework wie jQuery greifen.
Damit kannst du AjAX-Requests einfach ausführen:
jQuery.get(url, data, callback);
Dabei handelt es sich bei callback um eine Funktion, die bei erfolgreicher Ausführung des Requests startet. In dieser Funktion kannst du nun deine geladenen daten in die #chatdata speichern. -
ich glaub ich versuchs erstmal mit den iframes da ich nicht die zeit hab mir ein ajax tutorial anzugucken...
wie würdet ihr den iframe aktualisieren ? mit meta tags? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage