Hi,
ich beschäftige mich schon seit fast einem Jahr mit Perl und CGI-Programmierung, aber immer wieder stoße ich auf Probleme, die mir nur mit Java zu lösen scheinen - nur Java möchte ich nicht einsetzen.
Dieses Mal, glaube ich, gibt es keine Lösung, aber vielleicht hat ja doch jemand eine Idee... Die Sache läuft wie folgt ab:
* Der User ruft eine HTML-Seite auf
* Die HTML-Seite ruft ein CGI-Script auf, welches wieder eine Seite zurück an den Browser gibt.
* Auf der Seite, die jetzt angezeigt wird, befinden sich Daten, die sich auf dem Server sporadisch ändern.
* Die Seite soll immer dann aktualisiert werden, wenn sich die Daten auf dem Server ändern
Natürlich könnte ich der HTML-Seite sagen, sie soll sich alle paar Sekunden aktualisieren - dann wird sie aber auch aktualisiert, wenn auf dem Server gar nichts passiert ist.
Ich habe mir überlegt, daß das CGI-Script vielleicht eine Message senden könnte - geht aber nicht, weil es ja beendet wird, nachdem die HTML-Seite an den Browser gesendet wurde. Bei dem Gedanken kommen noch ein paar Fragen auf, vielleicht kann man das Script ja warten lassen...:
* Kann ich im Script prüfen, ob der Browser des Users geschlossen wird? Wenn ja, wie??
* Das Script wird nicht beendet und wartet so lange, bis sich die Daten verändert haben - wie kann ich eine neue Seite an den Browser senden? Wenn ich einfach neu anfange mit "<html><body>..." wird der Text einfach unten an den alten drangehängt - die alte Seite soll aber gelöscht werden, damit nur die neuen Informationen sichtbar sind.
Und dann folgt auch gleich noch ein neues Problem:
Ich habe ein Frameset mit 2 Frames. In Frame 1 befinden sich die Daten, die vom Script ausgegeben werden und in Frame 2 befindet sich ein Formular, in dem sich der Cursor immer in einem Eingabefeld befinden muß. Wenn jetzt Frame 1 aktualisiert wird, ist der Cursor auf einmal nicht mehr im Eingabefeld. Wenn ich Frame 1 sage, es soll via JavaScript in Frame 2 den Cursor wieder in das Feld setzen, befindet sich der Cursor am Anfang des Feldes. Das ist schlecht, denn wenn ich dort gerade Eingaben mache und Frame 1 wird aktualisiert (ich merke das natürlich nicht) schreibe ich auf einmal vor den schon eingegebenen Daten und wenn ich glück habe, merke ich es bevor das Formular abgesendet wird. Deswegen eine Frage:
* Wie kann ich via JavaScript sagen, daß er nicht nur den Cursor in das Feld setzt, sondern auch gleichzeitig hinter den bereits eingegebenen Text?
Vielleicht sollte ich diese Frage auch extra im Forum stellen (Thema JavaScript)...
Okay, danke auf jeden Fall!
CIao
Andreas