Instand Messenger für Website

chrisbergr

Erfahrenes Mitglied
Sorry ersteinmal, dass mir kein besseres Topic eingefalen ist.

Also folgendes:
Ich hätte gerne für eine Community ein echtzeit Messenger. Soweit eigentlich kein Problem, dazu einfach die passenden SQL Tabellen anlegen, abfrage für jeden User einzelnd, ob für seine ID neue Message vorhanden ist und wenn ja, lass ein PopUp aufgehen, worin die Message beinhaltet ist.
Das Problem bei dieser Sache ist jetzt, dass es eben nicht in echtzeit läuft, sondern ein Popup nur kommen kann, wenn ich gerade einen Link geklickt habe oder nen submit Button, etc. Ich könnte das jetzt so lößen, das ich die abfrage in einen iframe 1x1px mache welcher sich jede sekunde aktuallisiert. Ist aber nicht wirklich schön die lößung und vor allem nervt der standart Ton von Win jede Sekunde.

Jetzt wollte ich fragen ob ich mittels JS jede Sekunde die DB neu abfragen kann, auch ohne Aktivität des Users, und wenn ja, wie?

Also gehen sollte es schon, denke ich mal. Ist ja praktisch ein ähnliches Prinzip wie eine Uhrzeitausgabe, welche alle Sekunden anzeigt, oder ein life Counter. - Denk ich zumindestens mal.

Also, ich hoffe mir kann einer von euch helfen, im Vorraus.
 
Hi,
bei einer Uhrzeit schreibe ich nur jede Sekunde ins Dokument. Dein Vorhaben fragt aber die DB ab, und das geht in Javascript leider nicht :( Um den Frame wirst du nicht rumkommen. Du könntest jede Sekunde ein Formular submitten (oder macht das auch sounds?) was halt deinen Triffic extrem in höhe schnellen lässt... Sorry eine gute Lösung für ads Problem fällt mir leider auch nicht ein...
 
Ne klar die DB Abfrage ist in PHP. Ich habe das so gemeint, das ich mittels JS mein PHP Script, welches die Abfrage beinhaltet, aktualisiere, und nicht per JS die DB abfrage fals du das gemeint hast.
 
Am günstigsten wäre es wenn du eine Framseite festlegst!
Aber im Unterschied dazu ist ein Frame garnicht zu sehen (das heißt er hat eine Höhe und Breite von 0), der andere aber hat 100% Sicht.
In dem Frame in welchem nichts zu sehen ist, kannst du deine Messenger-PHP Seite reinlegen.
Diese enthält dann ein Javascript, welches von mir aus alle 2 Minuten einen location.reload() macht. Und dann wird ja jedesmal die Datenbank abgefragt durch PHP.
Warum du so einen Frame machen müsstest?
Ganz einfach, denn wenn du ihn in die hauptseite legst, dann dauert das laden der Seite ziemlich lange und zu alledem sieht der User die Aktualisierung, was für ihn störend ist.
So aber sieht er die aktualisierung nicht und es läuft alles geschmiert!

Aber ich schreibe dir jetzt den Code hier nicht rein für das Javascript weil ich nicht genau ohne nachzuschauen dir das erklären kann mit den befehlen.
Aber benutz einfach mal die suche hier mit dem Stichpunkt "Javascript Counter" oder ähnlichem.
 
Ja klar, per frame ist natürlich die einfachste Variante, aber das Problem ist ganz einfach, dass das aktualisieren immer so einen *KLICK* Ton macht, standartmäßig unter Windows. Und das ist imo extrem störend.
Aber gut, wenn es keine andere Lößung gibt, dann werde ich das wohl so tun müssen.

Achja, ich wollte mit dem JS nicht die "Hauptseite" ständig aktualisieren, sondern mein PHP Script dazu zwingen, in einem vorgegebenen Zeitraum wieder auf die DB zuzugreifen. Und davon sollte der User doch eigentlich nichts mitbekommen, oder?
 
wenn die seite wo das PHP script enthalten ist nicht enthält, was auf dem Bildschirm für den User zu sehen ist, dann nicht.
 
Ja klar, angezeigt werden soll das ja nicht, sondern eben nur wenn eine neue Message vorhanden ist, soll ein PopUp aufgehen.

Also, wie schauts aus, ist da was zu machen?
 

Neue Beiträge

Zurück