Nerknal: fenster oeffnen, groesse anpassen, dateiname uebergeben

Hi,
Ich versuch grad ein bildarchiv aufzubauen.
wenn ein thumbnail angeklickt wird soll ein neues fenster geoeffnet werden mit dem bild drin.
also brauch ich ne funktion, die den dateinamen uebergeben kriegt, die groesse ermittelt, und dan ein entsprechendes Fenster oeffnet.
Eigentlich hab ich nicht viel ahnung von javascript, hab mir aber die selfhtml und ein paar eintraege aus dem forum zu herzen genommen
hier mein versuch, der nicht klappt:

function photo(file){
neu=window.open("","Photo Gallery","resizable=1,width=10,height=10");
neu.document.open("text/html");
neu.document.write("<html><img src="+file+"></html>");
neu.resizeTo(neu.document.images[0].width,neu.document.images[0].height);
neu.focus();
}

so will ich das denn aufrufen:

<a href="javascript:photo('pics/photos/at_chris.jpg')"><img src="pics/thumbs/at_chris.jpg" border=0></a>

Ausser Fehlermeldungen passiert nix.

Bob

  1. Hallo Bob,

    <../../sfausles/tsfa_tcd.htm#a5>

    passe dir dieses Script einfach an.

    <werbung class="nichtkommerziell">
    Diese Link wurde Ihnen vom Selfauslese-Team präsentiert. Selfauslese - jetzt helf ich mir selbst.
    </werbung>

    Viele Grüße
    Antje

    <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">

    1. Danke Antje,

      Es hat geklappt, aber als ich die Seite im Netz testen wollte trat folgendes Problem auf:
      Die Grösse wurde nicht angepasst.
      bei einem zweiten versuch mit demselben Bild gings dann, Ich nehme an das Bild muss im cache sein, oder so.

      Hier meine funktion.

      var photo=null;
      function show(file)
      {
      if(photo!=null)
        if(!photo.closed)photo.close();
        photo=window.open("","","resizable=1,width=10,height=10,dependent=yes");
        photo.document.open("text/html");
        photo.document.write("<html><head><title>Photo Gallery</title></head><body bgcolor=#000000 leftmargin=0 topmargin=0><img src="+file+"></body></html>");
        photo.resizeTo(photo.document.images[0].width+10,photo.document.images[0].height+10);
        photo.focus();
      }

      wenn jemand eine Loesung haette ist ihm mein Dank sicher!

      Bob

      1. Hi,

        ...aber als ich die Seite im Netz testen wollte trat folgendes >>Problem auf:
        Die Grösse wurde nicht angepasst.
        bei einem zweiten versuch mit demselben Bild gings dann, Ich nehme >> an das Bild muss im cache sein, oder so.

        Das gleich Problem habe ich auch (Bildergallerie auf http://www.stud.uni-hannover.de/~kklipsch/).
        Ich habe es umgangen indem ich die breite und hoehe von jedem Bild "von Hand" in die Datei geschrieben habe. Das Bild muss naemlich tatsaechlich erst geladen werden um seine groesse zu kennen. Was bei +-110kb zumindest fuer Modemuser nicht zuzumuten ist.
        Kennt da jemand eine andere Loesung, die Bildgroesse einzulesen ? Vereinfachend waere es ja zumindest fuer das script, alle Bilder gleich gross zu machen, was aber nicht im Sinne des Erfinders ist.

        Mein Script:

        <script language="JavaScript">
        <!--
          total = 9;
          image = new Array(total);
          display = window.open("","DisplayWindow");
          display.close()
          w = new Array(total);
          h = new Array(total);
          w[1]=600; h[1]=407;
          w[2]=600; h[2]=414;
          w[3]=600; h[3]=396;
          w[4]=600; h[4]=398;
          w[5]=600; h[5]=369;
          w[6]=600; h[6]=390;
          w[7]=372; h[7]=600;
          w[8]=447; h[8]=600;
          w[9]=600; h[9]=397;

        function openwin(i)
          {
          display.close();
          if(display.closed == true) display.close();
          x = w[i] + 30;
          y = h[i] + 50;
          pagetoload = "pic"+i+".html";
          parameter = "width=" + x +",height=" + y + ",top=50,left=300";
          display = window.open(pagetoload,"DisplayWindow",parameter)
          }
        //-->
        </script>

        Der Aufruf erfolgt mit
        <a href="javascript:openwin(1)"><img src="s1.jpg" border=0></a> etc..

        Kevin