Chat in Javascript [Dateisystem & Textanzeige]

zoku2020

Mitglied
Hallo!
Ich habe mal eine Frage zu einem kleinen Projekt...
Ich möchte gern einen kleinen Chat schreiben. Der soll mit Hilfe von JavaScript eine Datei Zeilenweise auslesen und überprüfen ob eine neue zeile hinzugefügt worden ist. Wenn eine neue zeile existiert, dann soll diese an eine HTML-Datei angefügt werden und die alte Zeilenzahl für den entsprechenden User soll der Zeilenzahl in der Chatdatei angepasst werden. Wenn ein User etwas tippt, dann soll die Zeile, die er eingetippt hat als neue Zeile, an die Datei angehängt werden und die Eingabezeile soll geleert werden. Das Programm zum auslesen soll die Datei alle 0,5 bis 1 Sekunden überprüfen (Das Ganze ohne Reload der Page)
Ich wüsste nun gern, wie man Dateien in JS zeilenweise ausließt bzw. speichert und wie man in eine HTML-Datei anfügt, ohne das Interface neu zu laden...

(Ich dachte an etwas ähnliches wie bei "Knuddelz")

Die Suchfunktion, sowie Google und ähnliches haben mir nicht ein Stück weitergeholfen... Daher frage ich jetzt hier...)

Danke schonmal im Vorraus... :-)

zoku
 
Direkt kannst du mit JavaScript auf kein Filesystem zugreifen.
Jedoch kannst du dir mit einigen Trick behelfen.

Und zwar: Nehmen wir an, du hast auf deinem Chat-Server Software laufen, die
in eine bestimmte Datei immer die aktuellen Chat-Messages ausgibt.
Wenn du diese Datei nun mit ein bisschen HTML-Code versiehst und sie .html
nennst, kannst du per JavaScript deren Inhalt auslesen.

Ich hab mal ein kleines Beispiel gemacht:
PHP:
<!DOCTYPE html PUNLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="content-type"
              content="text/html; charset=iso-8859-1">
        <title>Dateien lesen mit JavaScript</title>

        <script type="text/javascript">
            function readFile()
            {
                window.parent['HiddenFrame'].location = "data.html";
            }

            function alertFile()
            {
                alert( window.parent['HiddenFrame']
                       .document.getElementById("Data").innerHTML );
            }
        </script>
    </head>
    <body>
        <h1>Dateien lesen mit JavaScript</h1>
        <br>
        <br>
        <input type="button" onClick="readFile();" value="Einlesen">
        &nbsp;&nbsp;
        <input type="button" onClick="alertFile();" value="Ausgeben">
        <iframe name="HiddenFrame" style="width:0px;height:0px;"
                frameborder="0"></iframe>
    </body>
</html>

Und die data.html sieht so aus:
PHP:
<html>
<body id="Data">Hallo, testtext, bla bla</body>
</html>
Nun startest du das Script, drückst einmal auf Einlesen und danach auf Aus-
geben
und schon siehst du das, was in der data.html im body-Tag steht!
 
Schade... das sit nicht so ganz das, was ich mir vorgestellt hatte...
Geht das so in etwa mit einer anderen Sprache?

Ich weiß ja nicht wie ein Chat eigendlich funktioniert...
Wie geht das eigendlich mit soeinem Webchat?
:confused:
 
Der Chat auf tutorials.de z.B. läuft über ein Java-Applet, welches auf einen Channel auf dem tutorials.de-eigenen IRC-Server zugreift.
 
Hallo,

wenn du einen Chat schreiben willst, bei dem du hauptsächlich mit JS im Frontend arbeitest wirst du um PHP (oder jede andere Serverseitige Sprache) nicht rumkommen (irgendwie klingt das konfus ;)). Schau dir dafür mal zB http://www.webdev.ro/products/webchat/ an. Eine elegante möglichkeit (zB wiel es das flackern des Reloads verhindert) wäre über oWDDX (Open Web Distributed Data Exchange) zu gehen - das würde auch noch mit JS funktionen, ist aber um einiges aufwendiger weil du zB das Remotescripting selbst schreiben müsstest. Außerdem hat nicht jeder Hoster bei wddx Unterstützung in den Skriptsprachen aktiviert. Man könnt auch das ganze mit RPC's und SOAP als WebService auflegen.... - wenn ich doch nur die Zeit hätte - wäre eine schöne Spielerei :) Aber ich denke zum "einstieg" ist die PHP / Javascript Lösung noch am einfachsten.

bye
Andreas

hab noch einen Link gefunden :)
http://codewalkers.com/tutorials.php?show=16
 
Danke! das hört sich gut an!
Könntest du mir da mal ein kleines Beispiel geben, wie man das mit dem PHP lösen könnte?
(Ich mach noch nciht allzulang PHP und in JS bin ich noch n Voll...)
 
Danke!
Das gibt mir schonmal ein Gewisses Bild von dem, was ich machen muss... Da tut sich mir eine Neue Frage auf... kann man das Ohne MySQL machen?
Ich schreib gerne in Textdateien, weil das MySQL auf meinem Server imnemr mal wieder Zicken macht...

Dann würd ich nochmal gern wissen, ob es eine Möglichkeit gibt, dieses Zeugs, dass man (wie auch immer) in einer Datei hat OHNE reload der Page an den schon bestehenden HTML-Code anhängen kann also z.b.

zoku: Hallo! < br> // Alt!
Xen0: Hi! <br> // Neu angehängt...

geht das irgendwie ohne reload?
 

Neue Beiträge

Zurück