IE jquery langsam

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Bei mir kommt die Meldung auch im FF.

    Schalte error_reporting auf E_ALL, setze hinter alle "mysql_query(xyc)" ein "or die(mysql_error())".

    Du solltest ausserdem die alles was vom Client kommt immer so prüfen, dass dadurch gar keine ungültige Queries entstehen können. Du könntest momentan evtl. auch Probleme mit MySQL-Injection bekommen.

    Schau mal im Firebug oder in der Konsole des FF nach. Du wirst sehen, dass du da immer noch einige Hinweise hast, die Fehler bei deinem Script verursachen können.
    2MB ist immer noch ziemlich gross für dass alles am Anfang geladen wird. Mach doch sowas für die grossen Bilder der Pizzen und ähnliches, da du ja sowieso Javascript voraussetzst:
    Code:
    CURRENTIMAGE = 0;
    IMAGES = new Array();
    PATHS = new Array("path.jpg", "path2.jpg", "path3.jpg");
    for(i = 0; i < PATHS.length; i++){
     IMAGES.push(new Image());
    }
    function preloadImage(){
     IMAGES[CURRENTIMAGE].src = PATHS[CURRENTIMAGE];
     if(CURRENTIMAGE < PATHS.length - 1){
      if(IMAGES[CURRENTIMAGE].complete){
       CURRENTIMAGE++;
       setTimeout(preloadImage, 10);
      }else{
       IMAGES[CURRENTIMAGE++].onload = function(){
        setTimeout(preloadImage, 10);
       }
      }
     }
    }
    window.onload = preloadImage;
    Ersetze gleich auch noch die selben styles durch eine Klasse und javascript:xyz durch einen event-Handler, dann ist es etwas übersichtlicher.

    Danach kannst du einmal versuchen jewils mehrere Zeilen aufs Mal auszukommentieren, sodass du siehst woran es liegt.
    Du kannst auch gleich zu Beginn einmal alles JS rausnehmen, dann siehst du ob es überhaupt am JS liegt und dann langsam immer mehr immer wieder einfügen.
    Zuletzt geändert von jmc; 23.06.2009, 18:45.

    Kommentar


    • #17
      Hallo

      es liegt wohl an den Divs
      Wenn ich
      Code:
      				while ($groesse = mysql_fetch_array($groessen_bez))
      					{
      		  
      			echo '
      			<div class="groesse_preis">
            </div>';
      			
      			
      
      				$iP++; 
      			}
      eingebe dauert das ca. 5 sek. länger wie wenn ich die schleife ohen die divs laufen lasse, ich habe das auch an anderen stellen gefunden, wenn ich da die divs auskommentiere komme ich auf akzeptable ladegeschwindigkeit.

      an der klasse kanns auch nicht liegen, den ohne klasse ist es dasselbe spiel.

      jemand ne idee wie man das behebt ?

      @jmc
      deine vorschläge werde ich auch gleich umsetzen

      gruß

      speeedy018

      Kommentar


      • #18
        Sry, aber an diesem Code alleine kann man nichts erkennen. Wie ist die DB-Tabelle aufgebaut?
        kommentiere einmal nur das echo aus. Dann wird sich die Geschwindigkeit doch wohl nicht gross verändern, oder?

        Kommentar


        • #19
          doch, wenn ich das echo mit den Divs auskommentiere ist der skript ablauf 5 sek. schneller.

          ich hatte da auch noch rechenoptionen und das anzeigen der db-abfrage drin, wenn ich das drin lasse und das echo mit dem div auskommentiere ist es 5 sek. schneller.
          Wenn ich die DB- Abfrage und die REchenoptionen auskommentiere und das echo mit dem Div drin lasse dauert es 5 sek. länger (als ohne echo mit divs)

          deswegen bin ich auch ganz schön verdutzt und hoffe auf einen genialen einfall woran das liegt.

          Kommentar


          • #20
            Hallo,

            habe jetzt noch ein wenig getestet, es liegt auch nicht am echo sondern an den divs, span, etc. wenn ich z.B. divs durch p ersetze läuft es auch wesentlich schneller (etwa die 5 sek und mehr).

            Ich bin echt am verzweifeln, hat jemand eine Idee woran es liegt?

            Kommentar


            • #21
              Schmeiss die kleinen Pizzen einmal in eine Tabelle statt alles absolut zu positionieren. AUsserdem, wie gesagt man braucht schon etwas mehr Code.

              Kommentar


              • #22
                Zitat von jmc Beitrag anzeigen
                Schmeiss die kleinen Pizzen einmal in eine Tabelle statt alles absolut zu positionieren. AUsserdem, wie gesagt man braucht schon etwas mehr Code.
                In einer Tabelle haben die nix verloren. Mach eine Liste.

                Kommentar


                • #23
                  Hallo,

                  habe den quellcode jetzt soweit runter optimiert das es nur noch an den Bildern liegt (noch nicht online, da ich dadurch auch einiges "kaputt" gemacht habe und es wieder reparieren muss (formatierungstechnisch)).
                  Wie bekomme ich den die Bilder optimal komprimiert optimalerweise 256 Farben gif. sind 65KB für das große PizzaBild zu groß ? als gif? (343 x 343)

                  @jmc
                  habe auch versucht den Preload einzubinden allerdings dauert es genausolange
                  muss ich die Bilder anders aufrufen? über js?

                  danke an alle die sich meinem Problem angenommen hatten.
                  Sobald ich die Formatierung wiederhergestellt habe, lade ich die aktuelle fassung hoch.

                  @jmc & H3ll
                  habe es mit listen formatiert, da die tabellen ähnlich lange geladen haben.

                  gruß

                  speeedy018

                  Kommentar


                  • #24
                    Wie bekomme ich den die Bilder optimal komprimiert
                    Das hängt vom Bildbearbeitungsprogramm deiner Wahl ab. Und natürlich von der Komprimierung. Und den Bildern. Vielleicht solltest du die großen Bilder als JPEG abspeichern, um die Größe im Vergleich zu Gifs zu reduzieren. Musst einfach mal ausprobieren, welche Kompression besser ist (in Relation zur Qualität).

                    Peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #25
                      Installiert habe ich Adobe Photoshop Elements 5 und Irfanview.
                      Jpg geht bei den großen leider nicht, da ich an den ecken die Transparenzen benötige.

                      gruß

                      speeedy018

                      Kommentar


                      • #26
                        Zitat von speeedy018 Beitrag anzeigen
                        Installiert habe ich Adobe Photoshop Elements 5 und Irfanview.
                        Jpg geht bei den großen leider nicht, da ich an den ecken die Transparenzen benötige.

                        gruß

                        speeedy018
                        Ich kenne mich zwar nicht mit Elements aus, aber in der Photoshop Vollversion kannst du bei Gifs die Anzahl der Farben reduzieren. Also anstatt 256 Farben zum Beispiel nur 128. Damit kannst du die Dateigröße auch reduzieren.

                        Peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #27
                          GIMP ist ein relativ gutes freeware Tool für sowas.
                          Du kannst wie Kropf erwähnt hat mit Paletten arbeiten, du kannst verschieden stark komprimieren (lossy oder nicht). PNG kann relativ stark komprimieren, gif werden jedoch bei sehr kleinen Paletten noch etwas kleiner (auch bei PNG kannst du Paletten benützen - 8, 16 oder 32 Bit). Für Fotoähnliche Bilder oder Bilder kannst du auch sehr gute Ergebnisse mit einer lossy Kompression wie jpg erreichen.

                          Zum Preload. Du rufst die Bilder immer noch erst mit HTML auf. mit dem Preload ist das Ziel, dass die Bilder erst geladen werden, wenn bereits der gesamte Rest geladen worden ist. Danach wechselst du dynamisch src des IMG-Elementes beim Hover über die kleinen Pizzen. Die grossen Bilder der Pizzen dürfen im HTML jedoch nicht mehr vorkommen.

                          Kommentar

                          Lädt...
                          X