Forum muss immer auf den Chat warten

  • Hallo an die HTML und JavaScript-Profis hier.


    Das Forum braucht recht oft lange zum laden weil es auf die Angabe wie viele und wer gerade im Chat ist warten muss, weil ja relativ am des Forums ein Javascript aufgerufen wird das die Daten vom externen Chatserver abruft.
    Leider dauert diese Anfrage meist etwas länger und das Forum wird solange nicht weitergeladen.


    Wie kann ich es machen das die Position der Anzeige, gleich bleibt, die
    Daten aber erst abgefragt werden wenn das Forum schon fertig
    geladen ist.


    Der Aufruf sieht bisher so aus
    <script type="text/Javascript" src="http://www.chat4tall.de/cgi-bin/gtchat95/chat.pl?template=counter_js">


    Habe die Frage auch schon in anderen Foren gestellt aber entweder keine gescheite Antwort oder eine von einem Profi bekommen, die ich nicht kapiert habe.


    Wäre für eine Hilfe sehr dankbar.


    Vorschläge waren bisher entweder mit


    onload oder
    setTimeout()

    Einfach weniger Energiekosten + Das große Vergleichsportal


    Zwischen Bremen und Neapel, zwischen Wien und Singapore habe ich manche hübsche Stadt gesehen. Städte am Meer und Städte hoch auf Bergen,
    und aus manchem Brunnen habe ich als Pilger einen Trunk getan, aus dem mir später das süße Gift des Heimwehs wurde.
    Die schönste Stadt von allen aber, die ich kenne, ist Calw an der Nagold, ein kleines, altes, schwäbisches Schwarzwaldstädtchen. ...


    ..., und bleibe dann lang auf der Brücke stehen. Das ist mir der liebste Platz im Städtchen,
    der Domplatz von Florenz ist mir nichts dagegen.
    (Hermann Hesse, Nobelpreis für Literatur 1946)


    Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren. (Benjamin Franklin)
    Wenn du deine Feinde behalten willst, versuche nicht, sie kennenzulernen. (Campino - Die toten Hosen)
    Great minds discuss ideas; average minds discuss events; small minds discuss people. (Eleanor Roosevelt)
    Der Horizont vieler Menschen ist wie ein Kreis mit Radius Null. Und das nennen sie dann ihren Standpunkt. (Albert Einstein)

  • Hallo Martin !


    Das wohl einfachste waere, wenn du in deinem Chat Script die aktiven Benutzer und deren Anzahl in eine Datei schreibst, und auf der Forumsseite einfach nur noch diese beiden Variablen ausliest und anzeigst.


    Im Chat System hast du normalerweise immer eindeutige Login und Logout Bereiche.
    Schreibe "einfach" eine Funktion die dir den aktuellen Status in eine Datei schreibt.
    Bei Bedarf kann ich dir den Code schreiben. Muesste mich nur in die PHP Quelltexte einlesen.


    Leider laesst sich nicht erkennen, welches Chatsystem auf chat4tall laeuft, gibt mir den Namen, evt. die URL fuer den Code, und ich bastel dann was zusammen

    Einmal editiert, zuletzt von lindesbs ()

  • Also auf chat4tall.de (musste ich auslagern da ich auf langes-forum.de keinen Chat betreiben darf) läuft der GTChat 0.95.


    Der Aufruf für die Anzahl der Chater lautet ja


    Code
    <script  type="text/Javascript" src="http://www.chat4tall.de/cgi-bin/gtchat95/chat.pl?template=counter_js"></script>


    Aufgerufen wird dann die Seite "counter_js.html", diese sieht so aus


    Code
    {SET|$mime_type|application/x-javascript}document.write('{GET_JS|$onlineusers_count}');


    Diese liest also einfach die Anzahl der Chater aus und gibt sie als


    Code
    document.write('2');


    aus (in Klammer die Anzahl der Chater. Im Forum wird dann einfach die Zahl in der Klammer angezeigt.



    Bei "wer ist gerade im Chat" ist es das selbe


    Aufruf auf dem Forum

    Code
    <script type="text/javascript" src="http://www.chat4tall.de/cgi-bin/gtchat95/chat.pl?template=roomusers_js"></script>


    roomusers_js.html


    Code
    {SET|$mime_type|application/x-javascript}
    document.write('{FOREACH|$room|$roomlist&onlineusers}{IF|$room.onlineusers_count}<b>{GET_JS|$room.name}:</b> {FOREACH|$user|$room.onlineusers}{GET_JS|$user.nick}{NOTLAST}, {ENDFOR}<br>{ENDIF}{ENDFOR}');
    {IF|$room.onlineusers_count<1}
    document.write('<b>Keine Benutzer online...</b>');
    {ENDIF}


    Ausgabe lautet dann


    Code
    document.write('<b>Terrasse:</b> Martin<br>');


    Ich will jetzt einfach nur dass die Position der Anzeige gleich bleibt (Anzahl im Bordmenü, Nicknamen in der Infobox), die Abfrage aber erst gestartet wird wenn das Forum selbst schon fertig geladen ist, bzw. das Forum mit dem laden nicht warten muss bis die Info von chat4tall.de da ist.

    Einfach weniger Energiekosten + Das große Vergleichsportal


    Zwischen Bremen und Neapel, zwischen Wien und Singapore habe ich manche hübsche Stadt gesehen. Städte am Meer und Städte hoch auf Bergen,
    und aus manchem Brunnen habe ich als Pilger einen Trunk getan, aus dem mir später das süße Gift des Heimwehs wurde.
    Die schönste Stadt von allen aber, die ich kenne, ist Calw an der Nagold, ein kleines, altes, schwäbisches Schwarzwaldstädtchen. ...


    ..., und bleibe dann lang auf der Brücke stehen. Das ist mir der liebste Platz im Städtchen,
    der Domplatz von Florenz ist mir nichts dagegen.
    (Hermann Hesse, Nobelpreis für Literatur 1946)


    Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren. (Benjamin Franklin)
    Wenn du deine Feinde behalten willst, versuche nicht, sie kennenzulernen. (Campino - Die toten Hosen)
    Great minds discuss ideas; average minds discuss events; small minds discuss people. (Eleanor Roosevelt)
    Der Horizont vieler Menschen ist wie ein Kreis mit Radius Null. Und das nennen sie dann ihren Standpunkt. (Albert Einstein)

  • Das Problem dürfte jetzt (hoffentlich) behoben sein.


    Zwar hat sich eigentlich nichts geändert, der Chat muss noch immer extern betrieben werden, weil der Hoster auf dem das lange Forum läuft auf seinen Servern keinen Chat erlaubt, bzw. nur auf Managed Servern ab 100 Euro im Monat.
    Der bisherige externe Billiganbieter bei dem der Chat lief hatte oft sehr lange Wartezeiten bis die Anzeige wer und wie viele sich gerade im Chat aufhalten angezeigt wurden.


    Wegen dieses Verbotes eines Chats musste ich auch den Chat der auf www.lange-liebe.de lief vorläufig deaktivieren.


    Die Kontaktbörse habe ich jetzt auf einen anderen Hoster umgezogen bei dem es auch für weniger Geld erlaubt ist einen Chat laufen zu lassen.
    Nach dort habe ich jetzt auch die Domain www.chat4tall.de also den Chat vom langen Forum verschoben.


    So wie es aussieht ist er jetzt bedeutend schneller in der Lieferung der Onlinedaten an das Forum, bisher habe ich keine Wartezeit feststellen können.


    Daher habe ich auch im Bordmenü (links oben) die Anzeige wie viele gerade sich im Chat aufhalten wieder aktiviert.


    Bitte meldet es mir wenn ihr doch öfters feststellt dass die Abfrage dieser Anzeige das weitere laden des Forums aufhält.


    Ich will den neuen Hoster jetzt noch 2-3 Monate testen, eventuell dort auf ein größeres Angebot upgraden und vielleicht dann das ganze Forum noch dort umziehen.

    Einfach weniger Energiekosten + Das große Vergleichsportal


    Zwischen Bremen und Neapel, zwischen Wien und Singapore habe ich manche hübsche Stadt gesehen. Städte am Meer und Städte hoch auf Bergen,
    und aus manchem Brunnen habe ich als Pilger einen Trunk getan, aus dem mir später das süße Gift des Heimwehs wurde.
    Die schönste Stadt von allen aber, die ich kenne, ist Calw an der Nagold, ein kleines, altes, schwäbisches Schwarzwaldstädtchen. ...


    ..., und bleibe dann lang auf der Brücke stehen. Das ist mir der liebste Platz im Städtchen,
    der Domplatz von Florenz ist mir nichts dagegen.
    (Hermann Hesse, Nobelpreis für Literatur 1946)


    Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren. (Benjamin Franklin)
    Wenn du deine Feinde behalten willst, versuche nicht, sie kennenzulernen. (Campino - Die toten Hosen)
    Great minds discuss ideas; average minds discuss events; small minds discuss people. (Eleanor Roosevelt)
    Der Horizont vieler Menschen ist wie ein Kreis mit Radius Null. Und das nennen sie dann ihren Standpunkt. (Albert Einstein)