Sascha: Probl. mit onClick="window.open

Ich stehe eben voll auf dem Schlauch, wer kann mir weiterhelfen?

Ich versuche einzelne Bilder mit folgendem Code aufzurufen:

<span class="bild"><a href="#" onClick="window.open('/vorschau/fuss01.jpg', 'bild','toolbar=no,status=no,menubar=no,width=624,height=431')" target="_blank"><font color="#0099FF">Bild 01</font></a></span><br>

Mein Problem: Das Bild wird geöffnet, verschwindet aber sofort hinter das Browserfenster auf dem geklickt wurde. Wie kann ich dies denn unterbinden?

Danke
Sascha

  1. Problem gefunden: Das target="_blank" muss raus ;-)

  2. Hi,

    ohne es ausprobiert zu haben:

    <span class="bild"><a href="#" onClick="window.open('/vorschau/fuss01.jpg', 'bild','toolbar=no,status=no,menubar=no,width=624,height=431')" target="_blank"><font color="#0099FF">Bild 01</font></a></span><br>

    <a href="#" onClick="var hwin = window.open('/vorschau/fuss01.jpg', 'bild','toolbar=no,status=no,menubar=no,width=624,height=431'); hwin.focus(); return false;" target="_blank"><font color="#0099FF">Bild 01</font></a>

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  3. Hallo,

    <span class="bild">
    Du benutzt doch hier schon CSS, das solltest Du bei Deinen Links tun, <font> gehoert eigentlich der Vergangenheit an.

    <a href="/vorschau/fuss01.jpg" onclick="window.open('/vorschau/fuss01.jpg', 'bild','width=624,height=431'); return false" target="_blank">

    Die ganze Geschichte mit tollbar=no usw. ist ohne default, die kannst Du Dir sparen. Wenn Du anstatt '#' den tatsaechlichen Link angibst und hinter window open ein return false einbaust, sehen auch die was, die kein Javascript haben.
    Ich wuerde hier aber eher ein ausgelagerte Funktion vorziehen:
    <head>
    ...
    <script type="text/javascript">
    function zeige_bild(url, weite, hoehe)
    {
      mein_fenster = window.open (url, 'bild', 'width=' + weite+',height=' + hoehe);
      mein_fenster.focus();
    }
    </script>
    </head>

    <a href="mein_bild.jpg" target="_blank" onclick="zeige_bild('mein_bild.jpg', '50', '100'); return false">klick</a>

    Dieter

  4. Hallo,

    <span class="bild"><a href="#" onClick="window.open('/vorschau/fuss01.jpg', 'bild','toolbar=no,status=no,menubar=no,width=624,height=431')" target="_blank"><font color="#0099FF">Bild 01</font></a></span><br>

    nur nebenbei - was du hier machst, ist nicht schön.

    1. Du verwendest zwar CSS, benutzt aber ebenfalls den nicht mehr aktuellen <font>-Tag. Schreib die Farbe doch lieber auch in die CSS-Definition, oder, falls das aus irgendeinem Grund ungünstig ist, in den <a>-Tag, z.B. <a href... style="color:#0099ff">Bild 01</a>

    2. durch <a href="#"... gibst du Besuchern, die JavaScript deaktiviert haben, keine Chance, das Bild zu sehen. Besser ist es, das Bild auch via HTML anzubieten, z.B.:

    <span class="bild"><a href="/vorschau/fuss01.jpg" onClick="window.open('/vorschau/fuss01.jpg', 'bild','toolbar=no,status=no,menubar=no,width=624,height=431'); return false;" target="_blank" style="color:#0099ff">Bild 01</a></span><br>

    das "return false;" sorgt dafür, dass der Verweis bei aktiviertem JavaScript nicht ausgeführt wird, sondern nur das per JavaScript geöffnete Fenster angezeigt wird. Ist JavaScript allerdings deaktiviert, öffnet sich die Datei trotzdem (durch target="_blank" auch in einem neuen Fenster).

    Mein Problem: Das Bild wird geöffnet, verschwindet aber sofort hinter das Browserfenster auf dem geklickt wurde. Wie kann ich dies denn unterbinden?

    Das funktioniert, indem du dem Fenster noch den Fokus gibst (siehe http://selfhtml.teamone.de/javascript/objekte/window.htm#focus). Dazu solltest du am besten eine Funktion benutzen, die du z.B. zwischen <head> und </head> definieren kannst:

    <script type="text/javascript">
    <!--
    function oeffnePopup(Ziel)
    {
    F1 = window.open(Ziel, 'bild','toolbar=no,status=no,menubar=no,width=624,height=431');
    F1.focus();
    }
    //-->
    </script>

    Diese Funktion rufst du dann im <a>-Tag auf:

    <span class="bild"><a href="/vorschau/fuss01.jpg" onClick="oeffnePopup('/vorschau/fuss01.jpg'); return false;" target="_blank" style="color:#0099ff">Bild 01</a></span><br>

    So - ich hoffe, ich hab mich nirgendwo verschrieben, alles ungetestet.

    Gruß.

  5. Hallo!

    Jetzt bin ich wirklich platt! Danke für die Tips, habe sie mir schon ausgedruckt über´s Bett gehangen... Werde es am Sonntag mal testen.

    Danke,

    Gruß
    Sascha