Forenindex » Programmierung/Entwicklung » JavaScript » JavaScript mehr als clientseitig?! Bitte um Hilfe.

JavaScript mehr als clientseitig?! Bitte um Hilfe.

erroraser
Beiträge gesamt: 3

5. Nov 2004, 03:11
Bewertung:

gelesen: 686

Beitrag als Lesezeichen
Hi @ all,

ich hab ein prob, was sich nicht so einfach lösen lässt (nehm ich an) und die stunden, die ich in suche und "ausprobiererei" investiert habe brachten mich nicht zu einer lösung:

folgendes szenario:

zwei benutzer befinden sich auf ein und derselben seite (seite1.htm) wo eine schleife solange wiederholt wird, bis eine bestimmte voraussetzung erreicht wurde:

nehmen wir an

var i=0;
while(i < 100)
{
// warte 2 sec
i++;
}

jeder dieser benutzer hat eine möglichkeit diese schleife vorzeitig zu unterbrechen, indem er einfach auf eine andere seite geht:
link -> seite2.htm <- link

nehmen wir weiterhin an, der benutzer 1. verlässt die seite nachdem 20ten durchlauf und gelangt auf seite2.htm

hier soll ein script ausgelöst werden, der die seite des benutzers 2. aktualisiert

mein ansatz war, das bei jedem durchlauf auf seite1.htm eine datei auf dem server auf ihre existenz überprüft wird. diese datei wurde beim betreten der seite1.htm erzeugt und wird gelöscht durch das betreten der seite2.htm

eine anmerkung zu dem ganzen: mir ist wohl klar, das javascript clientseitig ausgeführt wird, mir ist ebenfalls klar, das der enthaltene code nicht funktionieren kann, etc. in wirklichkeit funktioniert die seite mit php und mysql-abfrage, weitergabe der variablen an javascript, und erstellen der dateien via php. der umfang des scriptes würde aber die rahmen sprengen und ist hier auch nicht erforderlich, es geht mir nicht unbedingt um eine konkrete lösung, sondern um die grundlegende überlegung an sich.

ich wäre für jede hilfe dankbar.

JavaScript mehr als clientseitig?! Bitte um Hilfe.

SabineP
Beiträge gesamt: 7586

5. Nov 2004, 09:08
Bewertung:

gelesen: 686

Beitrag als Lesezeichen
Hallo Erroraser,

Seite1.htm müßte mit Javascript ständig neu geladen werden, zum Beispiel immer nach 1 Sekunde.
Nehmen wir an Seite 1 ist ein serverseitiges Script.

Sobald Benutzer 1 die Seite2.htm aufruft kann der Webserver beim nächsten Aufruf der Seite1.htm für Benutzer 2 eine andere Seite ausliefern.

Ich hoffe Du hast einen eigenen Webserver, denn dadurch entsteht sehr hoher Datentransfer und der Server muß ja ständig auf Anfragen antworten.

Was soll passieren, wenn Benutzer 3 oder 4 usw. Seite1.htm betreten?

Gruß Sabine

JavaScript mehr als clientseitig?! Bitte um Hilfe.

erroraser
Beiträge gesamt: 3

5. Nov 2004, 14:29
Bewertung:

gelesen: 686

Beitrag als Lesezeichen
vielen dank für die rasche antwort.

die möglichkeit des reloads der seite in einer zeitschleife habe ich natürlich in betracht gezogen. dies ist aber eine lösung, die nicht in frage kommen würde:
gemieteter server = zusatztaffic müsste bezahlt werden
die seite1.htm ist ziemlich gross und es sind sachen wie bannerrotation etc. mit eingebunden. das laden der seite wurde (bei 56k-modem/isdn) sehr lange dauern, somit müsste man die zeitabstände sehr gross setzen.
neuladen der seite verursacht zumindestens bei Internet Explorer (hauptzielgruppe) ein *klick* bei jedem reload
user, die eine trafficabhängige flatrate nutzen wären von einer solchen seite nicht begeistert

dein vorschlag ist somit leider nicht für mich geeignet, trotzdem, danke das du dir die mühe gemacht hast.

zu deiner frage:

wenn sich ein user (z.b. user7 von 20) von der seite1.htm auf die seite2.htm begibt, löst er ein refresh bei den usern 1-6 und 8-20 aus.

JavaScript mehr als clientseitig?! Bitte um Hilfe.

Anonym
Beiträge gesamt: 22827

5. Nov 2004, 14:52
Bewertung:

gelesen: 686

Beitrag als Lesezeichen
Hallo erroraser,

Javascript erfährt nichts von Veränderungen auf dem Webserver.
Deswegen bleibt nur die Variante mit reload der Seite1.htm in regelmäßigen Abständen.

Ich glaube Deine Anwendung ist für einen Browser nicht geeignet.

Wenn die User irgendeinen Netscape-Browser verwenden würden,
könnte man die Seite per Serverpush an den Browser senden.

IE unterstützt jedoch kein Serverpush.

Grüße von Sabine

JavaScript mehr als clientseitig?! Bitte um Hilfe.

erroraser
Beiträge gesamt: 3

5. Nov 2004, 15:36
Bewertung:

gelesen: 686

Beitrag als Lesezeichen
ich bin da auf ein anderen ansatz gekommen, allerdings weiss ich nicht ob es gehen würde und wenn ja, wie:

seite1.htm versucht via javascript in der schleife immer wieder eine bestimmte aktion auszuführen (z.b. eine datei aufzurufen o.Ä.), diese ist aber nicht auf dem server vorhanden. der fehler wird abgefangen (onerror="return true"; ???)
und die schleife läuft weiter, ohne änderung

der aufruf der seite2.htm erstellt nun auf dem server eine datei, die auf seite1.htm noch immer von anderen usern abgefragt wird. somit würde es bei den anderen kein error mehr geben und man könnte daraufhin die schleife abbrechen / ein refresh machen

wäre es denkbar das sowas funktioniert?