Neue Textdaten holen, während Seite angezeigt wird
Kalle
- javascript
Hallo,
ich arbeite an einer Studie, in der ein Gleisbildstellwerk gezeigt wird.
Während diese HTML-Seite gezeigt wird, können andere Benutzer Kabinentaxis anfordern. Ich möchte diese Anforderungen auf dem Gleisbildstellwerk sehen.
Wie kann man per JavaScript neue Informationen in eine Seite holen ? Mir ist die Technik bekannt, alle n Sekunden ein BILD zu laden und anzuzeigen. Ich brauche jedoch Textdaten (Koordinaten der Fahrzeuge).
Es müßte doch gehen. Ist das die Problematik von Chat-Seiten ?
Bin für jeden Tip dankbar. Kalle
Moin!
Es müßte doch gehen. Ist das die Problematik von Chat-Seiten ?
Ja, gut erkannt.
Sobald die HTML-Seite fertig geladen ist, wird die Verbindung zum Server abgebaut, und es werden keine Daten mehr übertragen.
Der Browser kriegt also nachträgliche Informationen, die auf dem Server "entstehen", niemals mit. HTTP ist für solche Dinge nicht vorgesehen gewesen, und wird es auch niemals sein.
Du hast, genau wie bei Chatseiten, exakt zwei Möglichkeiten:
1. Du verwendest kein HTTP. Das bedeutet, dass du mindestens irgendein Java-Applet in die Seite einbindest, welches die Verbindung zum Server über einen dauerhaften Netzkanal herstellt und darüber Updates erhält und auf der HTML-Seite umsetzt. Wobei es mir irgendwie schlauer erscheint, wenn du dann lieber komplett die Darstellungsmöglichkeiten des Applets nutzt und auf HTML komplett verzichtest. "Gleisbildstellwerk" klingt nach Animation - das sollte mit Java ebenso gut gehen.
2. Du verwendest einen ständigen Reload, genau wie es Chatseiten auf HTTP-Basis auch tun. Das ist nervig, eklig und nicht besonders serverfreundlich, weil der unter Umständen ständig Skripte laufen lassen muß, die zurückmelden, dass es nichts zu melden gibt. Und du kriegst die Information, dass etwas passiert ist, auch erst mit einer gewissen Zeitverzögerung im Browser mit, niemals jedoch "live". Du willst nicht alle halbe Sekunde eine neue Seite laden. Das scheitert im Zweifel daran, dass das vollständige Seitenladen mehr als eine halbe Sekunde dauern kann.
- Sven Rautenberg
Moin, Sven
Sobald die HTML-Seite fertig geladen ist, wird die Verbindung zum Server abgebaut, und es werden keine Daten mehr übertragen.
Nicht unbedingt, ich kann doch mit JavaScript eine Diashow machen und alle 3 Sekunden ein neues Bild anzeigen:
BDir = "fotos_klein";
bildnr = 2;
function Bildwechsel() {
Name = 'pict0';
if ( bildnr < 100 ) Name = Name +'0';
if ( bildnr < 10 ) Name = Name +'0';
Name = Name +bildnr +'.jpg';
window.document.images['bild1'].src = BDir +'/' +Name;
document.getElementsByName("nr")[0].value = Name; // Bildname anzeigen
bildnr++;
if ( bildnr > 213 ) bildnr = 2;
window.setTimeout("Bildwechsel()",3000);
}
Das hätte ich gerne mit Text statt Bild.
Moin!
Sobald die HTML-Seite fertig geladen ist, wird die Verbindung zum Server abgebaut, und es werden keine Daten mehr übertragen.
Nicht unbedingt, ich kann doch mit JavaScript eine Diashow machen und alle 3 Sekunden ein neues Bild anzeigen:
Damit machst du eine neue Verbindung zum Server auf.
Und diese Verbindung wird hergestellt, weil der _Client_ etwas neues wissen will, nicht weil der Server neue Daten hat.
Das hätte ich gerne mit Text statt Bild.
Dann mach es mit Text statt Bild. Seiten neuladen ist ja nicht so kompliziert. Ein Frameset wird dir vielleicht helfen.
- Sven Rautenberg
Moin!
Dann mach es mit Text statt Bild. Seiten neuladen ist ja nicht so kompliziert. Ein Frameset wird dir vielleicht helfen.
Ich möchte doch keine ganze Seite laden, sondern einen String, den ich auswerte. Im aktuellen Fall soll auf dem Plan die Haltestelle markiert werden, von der ein Ruftaxi gerufen wurde.
Ich brauche also die Koordinate der Haltestelle, ein kleiner String.
Wie hole ich einen String, irgendwie in der Form:
window.document.strings['string1'].src = DateiName;
Gruß, Kalle.
hi,
Seiten neuladen ist ja nicht so kompliziert. Ein Frameset wird dir vielleicht helfen.
Ich möchte doch keine ganze Seite laden,
ob Sven vielleicht deshalb das wort "frameset" erwähnte ...?
gruss,
wahsaga
ob Sven vielleicht deshalb das wort "frameset" erwähnte ...?
Okay, ist aber doch auch eine Seite, die direkt angezeigt wird. Kann ich denn den Text aus einem neu geladenen Frame auslesen und bearbeiten ?
Das könnte vielleicht die Lösung sein, wie geht das ?
Gruß, Kalle
hi,
ob Sven vielleicht deshalb das wort "frameset" erwähnte ...?
Okay, ist aber doch auch eine Seite, die direkt angezeigt wird.
wenn du den frame entsprechend klein machst, wird sie nicht mal wirklich sichtbar angezeigt ...
Kann ich denn den Text aus einem neu geladenen Frame auslesen und bearbeiten ?
Das könnte vielleicht die Lösung sein, wie geht das ?
http://selfhtml.teamone.de/javascript/objekte/frames.htm#scripts
http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe-2/index.htm
gruss,
wahsaga