daniel: window.close bei onBlur - ohne extra html

Hallo!

Ich habe folgendes Problem:
Ich möchte dass sich auf einen klick ein Fenster mit einem Bild öffnet. das mache ich mit

function myZoom(size) {
  var w = window.open("", "Bildfenster", size);

Damit kann ich für jeden Link auch gleich die Fenster(Bild-)größe mitgeben.

allerdings soll sich dieses Fenster "onBlur" wieder schließen.

Enie Möglichkeit ist, für jedes Bild eine HTML Seite zu bauen, die dann so aussieht:

<html><head>
<title></title>
</head>
<body background="images/picture1.jpg" onLoad="window.focus();" onBlur="window.close();">
</body>
</html>

..und lade sie im ersten Attribut von window.open().

Nur möchte ich nicht für jedes Bild eine eigene Datei erstellen müssen.

Ist es möglich die Eigenschaften von <Body> (background="" onLoad="" onBlur="") im erstellten fenster per javascript mitzugeben?

Ich habe dazu leider keine Beschreibungen gefunden, vielleicht kann mir hier jemand helfen...

Danke
Daniel

  1. hi,

    Ist es möglich die Eigenschaften von <Body> (background="" onLoad="" onBlur="") im erstellten fenster per javascript mitzugeben?

    Ja. Allerdings mit einem kleinen Trick, wobei du nicht darum herum kommst, wenigstens "on the fly" eine eigene HTML-Datei zu erzeugen. Du kannst mit einer zweiten Funktion, in der dann ein paar "document.writeIn"-Zeilen stehen, eine Seite schreiben, die dein Bild enthält, dann packst du diese ganze Seite bzw. Funktion in eine Variable und verwendest diese Variable als erstes Argument in "window.open"

    Christoph S.

  2. Hi,

    ginge es nicht auch, wenn die aufrufende Seite bei onFocus und onUnload abfrägt, ob das Bildfenster noch existiert (w.closed!=true) und dann dieses schließt.

    Ronny