SKerski: Bildgröße ermitteln in Netscape / Bild vorhanden ja/nein

Hallo!

Ich habe folgendes JavaScript welches Bilder auf eine bestimmt Größe hin überprüft und dann darstellt. Dies funktioniert soweit auch ganz gut nur leider nicht unter Netscape. Was muß ich anders machen das es auch da funktioniert?
Oder gibt es auch eine andere Möglichkeit mit Hilfe von JavaScript zu überprüfen ob das fest definierte Bild da ist oder nicht.

<script language="JavaScript">
    bilda = new Image();
    bildb = new Image();
    bildc = new Image();
    bildd = new Image();
    bilde = new Image();

bilda.src = "bild_01.jpg";
    bildb.src = "bild_02.jpg";
    bildc.src = "bild_03.jpg";
    bildd.src = "bild_04.jpg";
    bilde.src = "bild_05.jpg";

breite_a = bilda.width;
    breite_b = bildb.width;
    breite_c = bildc.width;
    breite_d = bildd.width;
    breite_e = bilde.width;

if (breite_a >= 29) { document.write("<img src='" + bilda.src + "' width='171'><br>"); }
 if (breite_b >= 29) { document.write("<img src='" + bildb.src + "' width='171'><br>"); }
 if (breite_c >= 29) { document.write("<img src='" + bildc.src + "' width='171'><br>"); }
 if (breite_d >= 29) { document.write("<img src='" + bildd.src + "' width='171'><br>"); }
 if (breite_e >= 29) { document.write("<img src='" + bilde.src + "' width='171'><br>"); }
</script>

  1. Hallo!

    Ich habe folgendes JavaScript welches Bilder auf eine bestimmt Größe hin überprüft und dann darstellt. Dies funktioniert soweit auch ganz gut nur leider nicht unter Netscape. Was muß ich anders machen das es auch da funktioniert?
    Oder gibt es auch eine andere Möglichkeit mit Hilfe von JavaScript zu überprüfen ob das fest definierte Bild da ist oder nicht.

    <script language="JavaScript">
        bilda = new Image();
        bildb = new Image();
        bildc = new Image();
        bildd = new Image();
        bilde = new Image();

    bilda.src = "bild_01.jpg";
        bildb.src = "bild_02.jpg";
        bildc.src = "bild_03.jpg";
        bildd.src = "bild_04.jpg";
        bilde.src = "bild_05.jpg";

    breite_a = bilda.width;
        breite_b = bildb.width;
        breite_c = bildc.width;
        breite_d = bildd.width;
        breite_e = bilde.width;

    Das funktioniert nicht, da die Bilder noch nicht fertig geladen sind (wenn es funktioniert, dann nur, wenn die Bilder bereits im Cache liegen).
    du musst warten bis die Bilder geladen sind, dafür existiert das onlad event.

    Ach, es gibt in JS Arrays mit dem du das obige wesentlich eleganter lösen kannst.

    Struppi.

    1. Das funktioniert nicht, da die Bilder noch nicht fertig geladen sind (wenn es funktioniert, dann nur, wenn die Bilder bereits im Cache liegen).
      du musst warten bis die Bilder geladen sind, dafür existiert das onlad event.

      Ach, es gibt in JS Arrays mit dem du das obige wesentlich eleganter lösen kannst.

      Ähm sorry ich kenne mich leider noch nicht so gut mit JavaScript aus.
      Wie muß ich die Bilder vorladen?

      Gruß
      SKerski

      1. Das funktioniert nicht, da die Bilder noch nicht fertig geladen sind (wenn es funktioniert, dann nur, wenn die Bilder bereits im Cache liegen).
        du musst warten bis die Bilder geladen sind, dafür existiert das onlad event.

        Ach, es gibt in JS Arrays mit dem du das obige wesentlich eleganter lösen kannst.

        Ähm sorry ich kenne mich leider noch nicht so gut mit JavaScript aus.
        Wie muß ich die Bilder vorladen?

        var img = new Image();

        img.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};
        imf.src = url;

        Struppi.

        1. Hi Struppi!

          Danek für die schnelle Antwort nur leider komme ich da nicht ganz zurecht. Ist es so richtig gemeint, weil so funktioniert es überhaupt nicht mehr.

          <script language="JavaScript">
              bilda = new Image();
           bildb = new Image();
           bildc = new Image();
           bildd = new Image();
           bilde = new Image();
           bilda.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};
           bildb.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};
           bildc.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};
           bildd.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};
           bilde.onload = function () { alert(this.src + ' fertig geladen.\n' + this.width);};

          bilda.src = "bild_01.jpg";
              bildb.src = "bild_02.jpg";
              bildc.src = "bild_03.jpg";
              bildd.src = "bild_04.jpg";
              bilde.src = "bild_05.jpg";
           breite_a = bilda.width;
           breite_b = bildb.width;
           breite_c = bildc.width;
           breite_d = bildd.width;
           breite_e = bilde.width;

          if (breite_a >= 29) { document.write("<img src='" + bilda.src + "' width='171'><br>"); }
           if (breite_b >= 29) { document.write("<img src='" + bildb.src + "' width='171'><br>"); }
           if (breite_c >= 29) { document.write("<img src='" + bildc.src + "' width='171'><br>"); }
           if (breite_d >= 29) { document.write("<img src='" + bildd.src + "' width='171'><br>"); }
           if (breite_e >= 29) { document.write("<img src='" + bilde.src + "' width='171'><br>"); }
          </script>