Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

  • hi,
    ich bastel wieder etwas an meiner Website herum und benutze sehr viel Javascript. Wenn man ein link anklickt wird zb. nur der teil geladen der sich ändern soll, dank XMLHttpRequest.
    Ich wollt mein Ladescreen Testen und hab eine php datei gemacht die ungefähr so aussieht:

    PHP
    <?php
    header("Cache-Control: no-cache, must-revalidate");
    header("Content-type: application/xml");
    sleep(2);
    ?>

    nur mit Sleep im php baut das javascript die Seite aus irgend einem Grund nicht auf.
    Ohne Sleep funktioniert es einwandfrei.
    mein Javascript Code:

    Die Funktionen startScreen und stopScreen funktionieren garantiert und auch ein alert in der Funktion buildSite funktioniert IMMER.
    Trodsdem baut er die Seite machmal nach einem reload nicht auf und stopt auch den lade Screen nicht.:cry:
    Der Request wird aber gestartet (Gott segne Firebug)
    Ich hab dieses Phänomen im Firefox 3.5 und im IE 8. Andere Browser hab ich noch nicht ausprobiert

    wenn ihr es euch angucken wollt:
    http://www.sett.xe.cx/#wait (Seite ändert sich ständig)

    Ich weiß nicht ob ich etwas falsch mache oder ob das "normal ist" wenn er die Seite evt. noch nicht fertig geladen hat.

  • Wozu den das? Schick halt den Request per ajax 2 sekunden später ab

  • Wenn der Server hängt wird der Request solange dauernt (wenn max execute time oben hast) bis er aufhört zu hängen


    mfg

  • evt. hab ich dein satz grad nicht richtig verstanden, aber wenn er simpel bedeuten soll das der request solang dauert bis der Server reagiert (meinetwegen auch ewig) dann wars keine große hilfe.

    Denn das Problem ist ja das wenn der request zu lang dauert er die Seite manchmal, aber nicht immer, aufbaut.;-) Die Konsohle meldet aber keine Fehler oder auch keine Optimierungs Tipps und in Firebug kann man auch den Quelltext der geladenen xml datei einsehen.
    Heißt:
    erfolgreich geladen doch aus irgend ein Grund macht er nicht das was in der Funktion steht.

  • Versteh erlich gesagt nicht wo da problem ist sry

    Mit der Maximalen Ausführ zeit hat das nix zu tun???


    Welche Funktion geht nicht, wie sieht die aus, wie wird die aufgerufen etc?

  • also: das Script ruft über ein event in den 5 verschiedenen lade Statusen eine Funktion auf (buildSite()). Die Funktion soll wenn der siteRequest.status == 4 ist (Fertiggestellt) den Inhalt auf die Seite übertragen. Diese müsste theoretisch funktionieren und ich hab sie nach allen regeln der Kunst ge debugt.

    Aus irgendeinem Grund führt die Funktion aber manchmal nicht aus was in ihr steht.
    Wenn ich jedoch ein alert() reinschreibe funktioniert sie immer.
    Wenn es vorkommt dann gibt es auch keine Fehlermeldung und deswegen kann ich den Fehler nicht beheben.

    Es könnte auch sein das es an meinem Browser liegt denn wie im ersten Beitrag erwähnt nutz ich Firefox 3.5 (eine Betaversion)

  • Dann probiers mal mit anderne Browser, was macht den die besondere Funktion? (script von der funkiton hergeben^^)

    Das wird aber kein Problem von JS sein

  • also eigentlich hab ich oben alles gepostet. Da steht zwar "php code", aber nur weil es dann so schön highlightet wird.
    habs mal mit ein paar Kommentaren ergänzt :


    wie auch schon oben erwähnt ist die Funktion dafür da den schwarzen Div Container über dem Hauptteil der Seite zu entfernen und den gerade empfangenen xml code in die Seite einzusetzen. Die PHP datei die diesen erzeig post ich aber nicht nochmal.