Ergebnis 1 bis 9 von 9

Thema: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

  1. #1
    Fortgeschrittene/r Avatar von SpeedFire
    Registriert seit
    01.07.2008
    Ort
    Meilsdorf
    Alter
    23
    Beiträge
    185
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard 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-Code:
    <?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:
    PHP-Code:
    //funktion zum erstellen eines http request
    function httpRequest()
    {
       try
       {
          return new 
    XMLHttpRequest(); //Request für Netscape und andere Browser
       
    }
       catch(
    e)
       {
          try
          {
             return new 
    ActiveXObject("Microsoft.XMLHTTP"); //Request für IE
          
    }
          catch(
    e)
          {
             return 
    false;
          }
       }
    }

    ////Ladesystem für neue Seiten
    var letzterCheck " ";
    var 
    siteRequester httpRequest();
    //funktion zum überprüfen ob es immer noch die selbe Seite ist
    function checkSite(neueSeite)
    {
       if(
    neueSeite == null)//überprüft ob die funktion NICHT mit dem laden eine neuen Seite beauftragt wurde
       
    {
          if(
    location.hash == letzterCheck)//überprüfen ob es immer noch die selbe Seite ist
             
    return null;//wenn dann wird die funktion abgebrochen
          
    if(location.hash == "" || location.hash == "#")//wenn noch kein adress hash vorhanden
          
    {
             
    neueSeite "#start";
             
    letzterCheck "";
          }
          else
          {
             
    neueSeite location.hash;
             
    letzterCheck neueSeite;
          }
       }
       else
    //wenn wegen einer neuen Seite aufgerufen
       
    {
          if(
    neueSeite == "")
          {
             
    neueSeite "#start";
             
    location.hash "";
             
    letzterCheck "";
          }
          else
          {
             
    location.hash neueSeite.substr(1);
             
    letzterCheck neueSeite;
          }
       }
       
    //lade Seite
       
    startScreen("main"); //startet einen schwarzen Screen auf dem div Container Main
       
    siteRequester.open("GET""/lade?seite=" neueSeite.substr(1));
       
    siteRequester.send(null);
       return 
    false;
    }
    //funktion zum späteren aufbau der Seite
    function buildSite()
    {
       if(
    siteRequester.readyState >= 4) return null;//wenn noch nicht fertig geladen ist funktion abbrechen
       
    if(siteRequester.status != 200)//wenn fehler aufgetreten ist
          
    return null;//funktion abbrechen
       
    stopScreen("main");
       var 
    inhalt siteRequester.responseXML;
       
    document.getElementById("main").innerHTML inhalt.getElementsByTagName("html")[0].childNodes[0].nodeValue;
       return 
    null;
    }
    siteRequester.onreadystatechange buildSite;
    checkSite(null);//erste überprüfung damit die Seite aufgebaut wird
    window.setInterval("checkSite(null)",200); 
    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.
    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.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    br:^ n4:| ie:% mo:} va:} de:> zu:) fl:| ss:} ls:[ js:|
    Dieser Text ist nicht sinnlos, sondern sagt viel über mich aus!

  2. #2
    Pion
    Gast

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

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

  3. #3
    Fortgeschrittene/r
    Themenstarter
    Avatar von SpeedFire
    Registriert seit
    01.07.2008
    Ort
    Meilsdorf
    Alter
    23
    Beiträge
    185
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    es ist halt ein test
    der Server kann ja auch so mal einige Zeit brauchen bis er reagiert.
    Das hätte den gleichen Effekt wie Sleep und wenn er da hängt könnte es ja auch im normalen Gebrauch häng.
    br:^ n4:| ie:% mo:} va:} de:> zu:) fl:| ss:} ls:[ js:|
    Dieser Text ist nicht sinnlos, sondern sagt viel über mich aus!

  4. #4
    Pion
    Gast

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

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


    mfg

  5. #5
    Fortgeschrittene/r
    Themenstarter
    Avatar von SpeedFire
    Registriert seit
    01.07.2008
    Ort
    Meilsdorf
    Alter
    23
    Beiträge
    185
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    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.
    br:^ n4:| ie:% mo:} va:} de:> zu:) fl:| ss:} ls:[ js:|
    Dieser Text ist nicht sinnlos, sondern sagt viel über mich aus!

  6. #6
    Pion
    Gast

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    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?

  7. #7
    Fortgeschrittene/r
    Themenstarter
    Avatar von SpeedFire
    Registriert seit
    01.07.2008
    Ort
    Meilsdorf
    Alter
    23
    Beiträge
    185
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    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)
    Geändert von SpeedFire (04.07.2009 um 00:45 Uhr)
    br:^ n4:| ie:% mo:} va:} de:> zu:) fl:| ss:} ls:[ js:|
    Dieser Text ist nicht sinnlos, sondern sagt viel über mich aus!

  8. #8
    Pion
    Gast

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    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

  9. #9
    Fortgeschrittene/r
    Themenstarter
    Avatar von SpeedFire
    Registriert seit
    01.07.2008
    Ort
    Meilsdorf
    Alter
    23
    Beiträge
    185
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Javascript XMLHttpRequest will sich nach php sleep nicht aufbauen

    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 :
    PHP-Code:
    function buildSite()
    {
       if(
    siteRequester.readyState >= 4) return null;//wenn noch nicht Fertiggestellt ist funktion abbrechen
       
    if(siteRequester.status != 200)//wenn fehler aufgetreten ist
       
    {
          
    alert("fehler" siteRequester.status);//fehler mit alert ausgeben
          
    return null;//funktion abbrechen
       
    {
       
    stopScreen("main");//stopt den schwarzen Ladescreen (code zu posten würde hier den rahmen sprengen, der code funktioniert aber einwandfrei)
       
    var inhalt siteRequester.responseXML;
       
    document.getElementById("main").innerHTML inhalt.getElementsByTagName("html")[0].childNodes[0].nodeValue;
       return 
    null;
    }
    //das folgene event ruft die Funktion 5 mal auf.
    //jedes mal mit mit einem der 5 staten
    //0 = uninitialisiert
    //1 = Ladend
    //2 = Geladen
    //3 = Interaktiv
    //4 = Fertiggestellt
    siteRequester.onreadystatechange buildSite
    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.
    br:^ n4:| ie:% mo:} va:} de:> zu:) fl:| ss:} ls:[ js:|
    Dieser Text ist nicht sinnlos, sondern sagt viel über mich aus!

Ähnliche Themen

  1. [C++] Struct aktualisiert sich nur nach cout
    Von DarkSyranus im Forum Forum für alle anderen Programmiersprachen
    Antworten: 3
    Letzter Beitrag: 20.04.2008, 21:07
  2. ICQ loggt sich automatisch nach 15min aus
    Von chris90night im Forum Computer - Internet Forum
    Antworten: 7
    Letzter Beitrag: 25.04.2007, 02:10
  3. Hilfe nach einem Passwortschutz Javascript
    Von Beatrice63 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 04.04.2006, 13:45
  4. sleep + echo ?
    Von BendOr im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 14.01.2006, 19:30
  5. USB Dell-Maus reagiert nach sleep mode nicht mehr
    Von nik im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 03.09.2004, 15:45

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •