Der Martin: 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)">

Wer kein Javascript ausführen kann/will, hat damit wenigstens einen normal funktionierenden Link, während für die JS-Surfer durch das return (false) die Bearbeitung der Link-Funktion unterdrückt wird und nur noch der JS-Funktionsaufruf zum Tragen kommt.

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

function Fenster(URL) {
  var x = screen.width;
  var y = screen.height;
  Bild = window.open(URL,"","fullscreen=no,width=x,height=y,scrollbars,status=no,location=no,menubar=no,toolbar=no,resizable=yes");
  Bild.focus();
  }

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?  ;-)

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?

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...

Schönen Tag noch,

Martin

--
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.