johnboy: window popt nur einmal auf! warum?

hallo,

ich habe ein js geschrieben, welches die höhe und breite eines bildes auslest eine pop-up erzeugt und jenes fenster an die größe, wiehoch und breit das bild auch immer sein mag, anpasst!
das skript funktioniert auch wunderbar nur kann ich es nur einmal ausführen!!!
wenn ich das popup schliesse und den link ein weiters mal klicke passiert nichts mehr! an was liegt das? weil ich keine *.html/*.php/*.asp site lade sondern nur ein *.jpg?

CODE:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title></title>
</head>
<script type="text/javascript">

function foto()
{
foto= new Image();
foto.src= "test.jpg";
x= foto.width;
y= foto.height;
//alert(x);
//alert(y);
window.open(foto.src,"Ansicht","width="+x+", height="+y+""");
}

</script>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<a href="#" onClick="foto()" >ein link</a>
</body>
</html>

danke johnboy

  1. Du vergiebst den Bezeichner foto zweifach, einmal als Funktionasnamen und einmal als lokale Variable. Nenne die lokale Variable anders und es funktioniert.

    MfG
    GK

  2. Hi,

    hast Du Dein Objekt mal anders benannt als Deine Funktion?

    Gruss
    Marcus

  3. <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title></title>
    </head>
    <script type="text/javascript">

    function foto()
    {
    foto= new Image();
    foto.src= "test.jpg";
    x= foto.width;
    y= foto.height;

    Das funktioniert nicht. Da das Bild erst geladen werden muss, bevor du die Größe kennst.
    Dafür existiert das onload event, dass du hier benutzen musst.

    Hier ist ein Skript, dass das tut was du willst
    http://home.arcor.de/struebig/js/popup/index.htm

    Struppi.

  4. Hallo johnboy,

    von den anderen genannten Problemen abgesehen, hier die Antwort auf die eigentliche Frage:

    window.open(foto.src,"Ansicht","width="+x+", height="+y+""");

    Das geöffnete Fenster bekommt den Namen "Ansicht". Wenn Du die Funktion aber nochmal aufrufst, bevor das Fenster "Ansicht" geschlossen wurd, wird das zweite Foto in dasselbe Fenster geladen. Falls es dann noch hinter dem Browserfenster liegt, merkst Du das gar nicht...

    Wenn sich jedesmal ein neues Fenster öffnen soll, mußt Du so vorgehen:
    window.open(foto.src,"_blank","width="+x+", height="+y+""");

    Das "_blank" bewirkt, daß ein neues Fenster geöffnet wird.

    Tschau,
    apstrakt

    --
    http://www.flipflopfloor.de