Hans: popup aus opener schließen

Moin,

also komplizierte sache..

Ich öffne aus dem hauptfenster heraus ein PopUp aus dem PopUp möchte ich im Hauptfenster einen neuen Tab öffnen das habe ich so gemacht:

Funktion im Popup-Fenster:
function tab(kunde_id,ts)
{
  opener.newtab(kunde_id,ts); // Übergabe an Opener
}

Funktion im Haupt-Fenster:
function newtab(kunde_id,ts)
{
  window.open('cust.show.php?newtab=true&custs[]=' + kunde_id + '&sestamp=' + ts, 'newwindow' + ts);
}

ich kann also aus dem PopUp eine Funktion des Hauptfensters aufrufen und der öffnet mir dann ein neues fenster und dank firefox öffnet er es als new tab. bitte nicht fragen für was die variablen ts usw sind :)

an dieser stelle auch grad nochmal: das ist ein internes system!

OK soweit so gut!

Das Problem ist jetzt folgendes: Jetzt hat der ein new tab geöffnet, aber ich möchte das das popup wieder focusiert wird, so als ob der eindruck ensteht, dass das newtab im Hintergrund sich geöffnet hat.
Das ist eben nicht der Fall, weil als letztes ja das neue Fenster (tab) geöffnet wurde. :(  ...  :)

Zur Frage:
Wie kann ich das PopUp aus dem Hauptfenster heraus wieder focusieren
ODER
Wie kann ich das PopUp aus dem HF schließen und neu öffnen?

Oder einfach nur Grundlegend wie steuer ich ein popup aus dem HF heraus an?

Danke!
Hans

  1. Hi,

    Zur Frage:
    Wie kann ich das PopUp aus dem Hauptfenster heraus wieder focusieren
    ODER
    Wie kann ich das PopUp aus dem HF schließen und neu öffnen?

    Oder einfach nur Grundlegend wie steuer ich ein popup aus dem HF heraus an?

    Danke!
    Hans

    Einfach beim Öffnen des Popups aus dem Haupfenster eine Referenz auf das Popup in einer Variablen speichern:

    var popup=window.open(...);

    dann:

    popup.focus();

    bzw.

    popup.close();

    Das window-Objekt des Popups bleibt übrigens erhalten auch wenn das Popup über das x im Popup geschlossen wurde.

    Nützlich ist hier die closed-Eigenschaft des window-Objekts.

    Mit if(popup.closed) kannst du überprüfen, ob es bereits geschlossen wurde bevor du versuchst, es mit popup.close(); zu schließen.

    gruß
    peter

    1. Testvasdfa sdfasdf asdrfsdf!