Bronimus: Laden eines Bildes

Hallo Forum,
ich habe Thumbnails in einer Bildergalerie angeordnet mit dem Zweck, wenn man ein Thumbnail anklickt, wird das zugehörige Bild per Javascript in einem neuen Fenster geöffnet. Dies klappt soweit ganz gut, lediglich beobachte ich, dass bei der Anzeige des Bildes im neuen Fenster der Fortschrittsbalken bei etwa 2/3 stehen bleibt und der Mauszeiger als "Eingabe unterdrückt" dargestellt wird (sowohl bei FF 2.0 als auch bei IE 6). Ist dies normal bzw. wie kann man dieses ändern?

Hier meine Javascript-Funktion:

function showImg(url, text, ImgBreite, ImgHoehe)
{
  var bild = new Image();  // muss global sein oder als Argument übergeben werden!
  bild.src = url;
/*
  var ImgBreite = bild.width;  // das funzt nicht, ich weiß nicht warum!
  var ImgHoehe = bild.height;  // deshalb Übergabe der Werte als Parameter
*/
  var RandHor = 20;
  var RandVer = 40;
  var ScrBreite = screen.width;
  var ScrHoehe = screen.availHeight;
  var MaxImgBreite = ScrBreite * 0.85 + RandHor;  // max. 85% der gesamten
  var MaxImgHoehe = ScrHoehe * 0.85 + RandVer;    // Bildschirmfläche plus Ränder
  var Faktor;

if (ImgBreite > MaxImgBreite)
  {
    Faktor = ImgBreite / MaxImgBreite;
    ImgBreite = MaxImgBreite;
    ImgHoehe = ImgHoehe * Faktor;
  }
  if (ImgHoehe > MaxImgHoehe)
  {
    Faktor = ImgHoehe / MaxImgHoehe;
    ImgHoehe = MaxImgHoehe;
    ImgBreite = ImgBreite * Faktor;
  }

var WinBreite = ImgBreite + RandHor;
  var WinHoehe = ImgHoehe + RandVer;

var PopLinks = (ScrBreite - WinBreite) / 2;
  var PopOben = (ScrHoehe - WinHoehe) / 2;

var optionText = "";
  optionText += "menubar=no,toolbar=no,location=no,directories=no,";
  optionText += "status=no,resizable=no,scrollbars=no,";
  optionText += "top="+PopOben+",left="+PopLinks;
  optionText += ",width="+WinBreite+",height="+WinHoehe;

fenster = window.open("","Bilder",optionText);

fenster.document.write('<html><head><title>Aus meiner Bildergalerie</title>');
  fenster.document.write('<link rel="stylesheet" type="text/css" href="standard.css"></head>');
  fenster.document.write('<body style="background-image:url()">');
  fenster.document.write('<img src="'+url+'" width="'+ImgBreite+'" height="'+ImgHoehe+'">');
  fenster.document.write('<center><input type="button" value="Fenster schließen" onclick="self.close()"></center>');
  fenster.document.write('</body></html>');
  return
}

Schönen Gruß
vom Bronimus

  1. Hallo,

    var bild = new Image();  // muss global sein oder als Argument übergeben werden!
      bild.src = url;
    /*
      var ImgBreite = bild.width;  // das funzt nicht, ich weiß nicht warum!
      var ImgHoehe = bild.height;  // deshalb Übergabe der Werte als Parameter
    */

    hier ist das Internet nicht so schnell wie du denkst. Erst wenn das Bild im Browser angekommen ist, kannst du Höhe und Breite abfragen.

    fenster.document.write('<html><head><title>Aus meiner Bildergalerie</title>');
      fenster.document.write('<link rel="stylesheet" type="text/css" href="standard.css"></head>');
      fenster.document.write('<body style="background-image:url()">');

    wenn du kein Hintergrundbild haben willst, lass das Attribut ganz weg.

    Gruß plan_B

    --
         *®*´¯`·.¸¸.·
    1. Hallo plan_B,

      danke für Deine Antwort und Deine Tips - werde ich berücksichtigen. Kannst Du mir auch meine eigentliche Beobachtung erklären?

      Gruß Bronimus

      1. danke für Deine Antwort und Deine Tips - werde ich berücksichtigen. Kannst Du mir auch meine eigentliche Beobachtung erklären?

        Du musst das document nach dem beschreiben schliessen.

        Struppi.

        1. danke für Deine Antwort und Deine Tips - werde ich berücksichtigen. Kannst Du mir auch meine eigentliche Beobachtung erklären?

          Du musst das document nach dem beschreiben schliessen.

          Struppi.

          Hallo Struppi,

          jou, das war's, vielen Dank für den Tip

          Gruß Bronimus