Generic1: Page load abwarten

Hallo,

ich habe ein Problem mit dem Laden der Seite und zwar, wenn ich eine andere Seite anzeigen möchte, klicke ich auf einen Button, dadurch wird gleichzeitig eine AJAX anfrage an den Server gesendet,
nun kann es sein, dass die Antwort auf die AJAX- Anfrage schneller da ist als die Seite vollständig in den Browser geladen wurde,

Meine Frage wäre nun, was ich dagegen machen kann, wie kann ich abfragen, ob eine Seite schon fertig geladen ist und wenn nicht, dann möchte ich solange warten, bis diese Seite fertig geladen ist, um dann das in die Seite einzubauen, was per AJAX empfangen wurde,

Besten Dank,
lg
Generic1

  1. Meine Frage wäre nun, was ich dagegen machen kann, wie kann ich abfragen, ob eine Seite schon fertig geladen ist und wenn nicht, dann möchte ich solange warten, bis diese Seite fertig geladen ist, um dann das in die Seite einzubauen, was per AJAX empfangen wurde,

    Der Event heißt onload oder manche Browser können auch DOMContentLoaded, je nach dem was du brauchst

    Struppi.

    1. Kann ich mit einer Funktion irgendwie abfragen, ob die Seite schon geladen ist oder noch nicht?
      Ich hab nämlich jetzt folgendes gemacht, hat aber nichts geholfen:

        
      function updatePage() {        // das ist die Callback Methode von AJAX  
          if(request.readyState == 4) {  
              if(request.status == 200) {  
                  window.onload = setValues();  
                  }  
              }  
          }  
      
      

      lg
      Generic1

      1. Kann ich mit einer Funktion irgendwie abfragen, ob die Seite schon geladen ist oder noch nicht?

        Nein, du kannst den Event benutzen ob z.b. eine Variabel zu setzen.

        window.onload = setValues();

        Das ist natürlich Unsinn. Weißt du nicht wie man Eventhandler in JS nutzt?

        Struppi.

        1. Nein, ich hätte es so gemacht wie oben, wie macht man es richtig?
          Besten Dank,

          1. Nein, ich hätte es so gemacht wie oben, wie macht man es richtig?

            So wie oben.

            Struppi.

            1. Nein, ich hätte es so gemacht wie oben, wie macht man es richtig?

              So wie oben.

              Struppi.

              ? versteh ich jetzt nicht ganz, wo oben?

              1. Nein, ich hätte es so gemacht wie oben, wie macht man es richtig?

                So wie oben.

                Struppi.

                ? versteh ich jetzt nicht ganz, wo oben?

                Jetzt verstehe ich dich nicht, du hast doch geschrieben:

                Nein, ich hätte es so gemacht wie oben, wie macht man es richtig?

                Man macht es richtig wie oben - ich nehme an du meinst mit oben, dort wo du den AJAX Handler registrierst.

                Struppi.

      2. Mahlzeit Generuc1,

        window.onload = setValues();

        Du weist hier der Eigenschaft "onload" des "window"-Objekts (und damit dem entsprechenden Event-Handler) den Rückgabewert der Funktion "setValues()" zu. Das willst Du jedoch vermutlich nicht. Ich denke, Du möchtest der Eigenschaft eher eine Referenz auf die genannte Funktion zuweisen.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Ich denke, Du möchtest der Eigenschaft eher eine Referenz auf die genannte Funktion zuweisen.

          MfG,
          EKKi

          Hallo,

          ich glaub ich steh jetzt auf dem Schlauch, wie mach ich das dann?
          Besten Dank,
          lg

          1. Mahlzeit Generic1,

            Ich denke, Du möchtest der Eigenschaft eher eine Referenz auf die genannte Funktion zuweisen.

            ich glaub ich steh jetzt auf dem Schlauch, wie mach ich das dann?

            window.onload = setValues;

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. window.onload = setValues;

              aber nicht and er Stelle, wo er es versucht hat, weil dort u.U. die Seite schon fertig geladen wurde.

              Struppi.