Javascript pop up schließen durch klicken

#1198442
Lesenswert?

function viewFoto(img){
  largh=foto1.width+20;
  altez=foto1.height+20;
  stringa="width="+largh+",height="+altez;
  finestra=window.open(img,"",stringa);

Der Teil meine scriptes ruft ein pop up auf und zeigt mir das Bild an. 
Schließen kann ich es nur übers X rechts oben. Daher die Frage, da das 
Ganze mit Javascript geöffnet wird, kann ich z.B. onclick="self.close()" 
ja nich nehmen. Welchen Befehl kann ich aber ins Script schreiben der 
mir das Pop Up schließt beim drauf klicken? Sollte die Glaskugel defekt 
sein, fragt einfach.
#1198454
Lesenswert?

Okay, geht aber nicht, wenn da nur das Bild einfach im neuen Fenster 
geöffnet wird... Im Prinzip muss eine neue HTML-Seite geöffnet werden, 
in der dann das JavaScript zum Schließen eingebettet ist - und damit es 
auch konform ist mit dem kompletten header- und body-Bereich...

Wird PHP verwendet? Dann kann man die Bild-URL an das aufgerufene Script 
im GET-Parameter übergeben und dann durch das Script im HTML-Code 
eingesetzt werden...

Also ganz Grob gesehen so:

[auf der Seite mit den Thumbnails]
...
<img src="xyz_thumb.jpg" 
onclick="viewFoto('./photo.php?pic=xyz_thumb.jpg');">
...

[photo.php]
<?
    $pic="";
    if(isset($_GET["pic"])===true)$pic=$_GET["pic"];
    if(file_exists($pic)===false){
        $pic="";
    }else{
        $size=GetImageSize($pic);
        $width=$size[0];
        $height=$size[1];
    }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">;
<html>
    <head>
        <meta http-equiv="Content-Style-Type" content="text/css">
        <meta name="keywords" content="">
        <meta name="description" content="">
        <meta http-equiv="expires" content="0">
        <title>Detailbild</title>
    </head>
    <body style="margin:0px;">
        <?
            if($pic!=""){
                ?>
                    <img src="<?=$pic?>" style="width:<?=$width?>px; 
height:<?=$height?>px;" alt="" onclick="self.close();"><br />
                <?
            }else{
                echo "Bild nicht gefunden.<br />";
            }
        ?>
    </body>
</html>

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren