javascript - open.window
Uwe Twelker
- javascript
0 Antje Hofmann0 Struppi
Hi,
ich habe eine Übersichtsseite und öffne Detail-Informationen mit open.window in einem kleinen neuen Detailfenster. Wenn man dieses Detailfenster nicht schließt, sondern wieder auf das Übersichtsfenster klickt, verschwindet das Detailfenster hinter dem Übersichtsfenster. Wenn man dann ein neues Detail sehen will, wird dies in dem schon offenen Detailfenster hinter dem Übersichtsfenster geöffnet und man sieht nichts.
Folgende Ideen habe ich angedacht:
Lösung 1: Wie sieht der Befehl aus, daß jedes mal ein neues Detailfenster geöffnet wird (nicht der neue Inhalt in dem alten Detailfenster)?
Lösung 2: Wie schließe ich das Detailfenster automatisch, wenn ich es verlasse?
Was wäre die eleganteste Lösung? (übrigens, falls das wichtig ist - die Links werden aus eine Datenbank generiert, liegen also zunächst statisch nicht im html vor.)
Danke für alle Tips!
Uwe
Hallo Uwe,
Wenn man dann ein neues Detail sehen will, wird dies in dem schon offenen Detailfenster hinter dem Übersichtsfenster geöffnet und man sieht nichts.
Was wäre die eleganteste Lösung?
Lösung 3: in dem du Fenstervariable.focus() verwendest und das Fenster so in den Vordergrund holst.
Jedesmal ein neues Fenster öffnen ist wesentlich ressourcenaufwendiger, erfordert mehr Programmieraufwand und nach rund 100 Fenstern ist sowieso Schluß. Dann öffnen einige Browser keine neuen Fenster mehr.
Viele Grüße
Antje
Lösung 1: Wie sieht der Befehl aus, daß jedes mal ein neues Detailfenster geöffnet wird (nicht der neue Inhalt in dem alten Detailfenster)?
Du musst einfach dem Fenster immer den gleichen Namen geben, dan wird nur eins geöffnet und mit dem Befehl focus() holst du es dann in den Vordergrund.
function openWin(url, name)
{
var param = "";
window.open(url, name, param).focus();
}
<a href="url.html"
target="popup"
onclick="openwin(this.href, this.target);return false;">klick</A>
Lösung 2: Wie schließe ich das Detailfenster automatisch, wenn ich es verlasse?
<body onblur="self.close();">
oder onunload
Struppi.