kostenloser Webspace werbefrei: lima-city


Ajax Chat lastet FF aus :/

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    ich habe einen Ajax Chat geschrieben denn ich in mehren Webseiten verwende...
    Leider lastet er den Firefox ziemlich aus so das bei der Eingabe einer neuen Nachricht Buchstaben im
    Input "vergessen" werden... dies tritt bei mit nur im FireFox auf. Kann mir jemand helfen?

    hier die Chat Abfrage: klick

    HELP

    Beitrag zuletzt geändert: 18.4.2012 17:10:50 von christian1603
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. w*****e

    vielleicht musst du einfach die Abfrage-Intervalle im Firefox so verlängern, dass er nicht mehr so ausgelastet ist?

    :biggrin:
  4. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    webaffe schrieb:
    vielleicht musst du einfach die Abfrage-Intervalle im Firefox so verlängern, dass er nicht mehr so ausgelastet ist?

    :biggrin:


    Naja er fragt zum Schluss nur noch alle 3 sekunden ab... das sollte eigentlich machbar sein...
    LG
  5. t*****b

    Du hast ziemlich viele Replace drin, das kann dauern vor allem bei so vielen. Wenn dann das nächste Request ausgeführt wird, bevor die Daten fertig bearbeitet wurden, kann es schon mal hängen. Du könntest die Replaces serverseitig vornehmen oder darauf verzichten, wenn dein Encoding stimmt würden auch Umlaute angezeigt werden. Außerdem bräuchtest du nicht jedesmal den gesamten Chatverlauf senden, sondern nur die Änderungen / neue Nachrichten, dann hast du erheblich weniger Traffic und Daten die es zu verarbeiten gibt.
  6. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    trueweb schrieb:
    Du hast ziemlich viele Replace drin, das kann dauern vor allem bei so vielen. Wenn dann das nächste Request ausgeführt wird, bevor die Daten fertig bearbeitet wurden, kann es schon mal hängen. Du könntest die Replaces serverseitig vornehmen oder darauf verzichten, wenn dein Encoding stimmt würden auch Umlaute angezeigt werden. Außerdem bräuchtest du nicht jedesmal den gesamten Chatverlauf senden, sondern nur die Änderungen / neue Nachrichten, dann hast du erheblich weniger Traffic und Daten die es zu verarbeiten gibt.

    Letzteres mach ich bereits. Ich frage im 2 schritt ab ob es Neue Nachrichten gibt. Das mit dem Request werde ich mal versuchen. Danke schonmal :)
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Der wirkliche Fehler könnte darin liegen, dass du deine Abfrage nicht asynchron machst... derzeit ist bei dir noch alles synchron, was das JavaScript auch ausbremst.

    Das "auslasten" sehe ich leider nicht...
  8. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Also die Replace hab ich alle rausgenommen. Daran liegt es nicht :/


    hackyourlife schrieb:
    Der wirkliche Fehler könnte darin liegen, dass du deine Abfrage nicht asynchron machst... derzeit ist bei dir noch alles synchron, was das JavaScript auch ausbremst.

    Das "auslasten" sehe ich leider nicht...



    Also bei vielen Besuchern & bei mir ist es so wenn ich auf : die Chat seite gehe
    & in Imput text eingebe kommt es dazu das Buchstaben nicht geschrieben werden. (Beim schnell schreiben)

    Wie meinst du asynchron? Ich frage den Server alle 3 Sekunden 1 mal ab und werte das Ergebnis aus. Wie kann ich
    das asynchron machen :/ Oder meinst du alle Server abfragen insgesamt auf der seite?

    LG :)
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    christian1603 schrieb:
    Wie meinst du asynchron? Ich frage den Server alle 3 Sekunden 1 mal ab und werte das Ergebnis aus. Wie kann ich
    das asynchron machen :/
    Zuerst mal wie es bei dir ist:
    du stellst die Anfrage mit dem XMLHttpRequest und schickst sie mit send();
    Dabei wartet send() so lange bis die Daten empfangen worden sind und macht dann weiter, was den ganzen Firefox für diese Zeit hängen lässt.

    Asynchron: du schickst auch die Anfrage mit send(), das Script läuft aber sofort weiter und wartet nicht. Wenn die Daten ankommen wird ein Callback aufgerufen.

    Dazu ein Link und etwas Beispielcode:
    function createXMLHttpRequest() {
    	if(window.XMLHttpRequest) {
    		// code for IE7+, Firefox, Chrome, Opera, Safari
    		return new XMLHttpRequest();
    	} else {
    		// code for IE6, IE5
    		return new ActiveXObject("Microsoft.XMLHTTP");
    	}
    }
    
    function getContent() {
    	var request = createXMLHttpRequest();
    	request.onreadystatechange = function() {
    		if((request.readyState == 4) && (request.status == 200)) {
    			var doc = request.responseText;
    			// in der Variablen doc stehen deine Daten
    			// hier musst du das dann verarbeiten...
    		}
    	}
    	request.open("GET", "seite.php", true); // das true macht die Anfrage asynchron
    	request.send();
    }
  10. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    hackyourlife schrieb:
    christian1603 schrieb:
    Wie meinst du asynchron? Ich frage den Server alle 3 Sekunden 1 mal ab und werte das Ergebnis aus. Wie kann ich
    das asynchron machen :/
    Zuerst mal wie es bei dir ist:
    du stellst die Anfrage mit dem XMLHttpRequest und schickst sie mit send();
    Dabei wartet send() so lange bis die Daten empfangen worden sind und macht dann weiter, was den ganzen Firefox für diese Zeit hängen lässt.

    Asynchron: du schickst auch die Anfrage mit send(), das Script läuft aber sofort weiter und wartet nicht. Wenn die Daten ankommen wird ein Callback aufgerufen.


    Hey Danke :) Das mit dem "true" wuste ich nochnicht.
    DANKE :)
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!