kostenloser Webspace werbefrei: lima-city


Mit javascript die seite aktualisieren wenn ein datenbankeintrag dazukommt

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    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.
  4. oder die einfachere variante ist:
    einfach das script alle 2 sekunden neu zu laden(können auch alle 3s odre nur 1 sein)
    weniger Programmieraufwand für gleiche ergebniss....
  5. e********l

    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.
  6. 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
  7. e********l

    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.
  8. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    ich habs gestern ma mit nem php frame versucht aber das war doof weil man da immer die ladezeiten gemerkt hat und das input feld zurückgesetzt wurde...
  9. t****o

    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
  10. 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.
  11. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    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?
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!