Stefan: Fenster bei Mausklick schließen

Beitrag lesen

Hallo Stefan,

Ich öffne mit dem Aufruf:
<a href="javascript:Fenster('images/Alcatraz_002.jpg')">
die Funktion

schlechter Ansatz. Wer ohne Javascript unterwegs ist, hat keine Chance, das Bild zu sehen. Besser:

<a href="images/Alcatraz_002.jpg" onclick="Fenster(this.href); return (false)">

Das habe ich natürlich auch eingebaut, nur der Übersicht wegen nicht gepostet. Der komplette Aufruf sieht so aus:

<a href="javascript:Fenster('images/Alcatraz_002.jpg')">
<img border="0" src="images/Alcatraz_002_tn.jpg" alt="Alcatraz, San Francisco, Kalifornien" width="300" height="225"></a>
<a href="images/Alcatraz_002.jpg" target="_blank" width="100%"><img border="0" src="images/magnify.png" align="right"></a><br>
<h2>&quot;The Rock&quot; von Pier 39 aus gesehen (373kb).</h2>

Damit haben alle Nicht-JS-Benutzer die Möglichkeit, das Bild über den magnify-Button zu öffnen. Ausgiebige Versuche mit der oben genannten Methode (this.href etc.) haben in meinen Testumgebungen nicht zu 100% funktioniert (liegt vielleicht auch an diversen Virenchecker, Firewalls, Adblockern - aber die haben die Surfer ja mitunter auch). Deshalb benutze ich jetzt diese getrennte Methode.

Die Problematik von Popup-Blockern, die inzwischen ja weit verbreitet sind, hast du bedacht?

Das klappt ja dann mit dem Button :)

Ist es Zufall, dass Bild dadurch ein global verfügbares Objekt wird (was es ja sein muss, wenn du nachher wieder darauf zugreifen willst), oder hast du da tatsächlich darüber nachgedacht?  ;-)

Sagen wir mal so: derzeit brauche ich es eigentlich nicht global, aber man weiss ja nie was ich noch so bastel und wofür es gut sein wird ;)

Mein Versuch mit Bild.onmousedown = Bild.close(); schließt das Fenster direkt wieder ohne zu warten...

Natürlich, du rufst ja auch die close()-Methode des Fensters direkt auf. Der Eventhandler erwartet aber einen String, in dem die entsprechende Anweisung steht, oder?

Hmm, ja dann muss ich wohl was mit event basteln...

Geht das überhaupt ohne statt dem Bild eine weitere html-Seite zu öffnen?

Ich weiß es nicht. Deine Idee erscheint mir raffiniert, aber ich bin mir nicht sicher, ob das bei einem Fenster möglich ist, das kein HTML-Dokument enthält. Korrigiere deinen Fehler mit dem Eventhandler und probiere es in einigen repräsentativen Browsern aus...

Ich versuchs mal. Danke für die Antwort :)

Stefan