corner: window.close() funktioniert nicht wie es soll...

Hallo zusammen!

Ich habe zwei Dateien, von denen die erste mittels eines Links ein zweites Fenster aufruft, in das die zweite Datei geladen wird. Beim Klicken im ersten Fenster (focus) soll sich das zweite Fenster automatisch wieder schließen. Das klappt auch ganz gut. Nur wenn ich das zweite Fenster manuell von sich aus schließe, erscheint im ersten Fenster jedesmal eine Fehlermeldung im Internet-Explorer.
Wer kann mir helfen? Vielen Dank für Eure Mühe.

Das Script in der ersten Datei lautet:

<script type="text/javascript">
<!--
document.links[0].href = "javascript:farben()";
function farben() {
Farben = window.open ('standardfarben.php?<?php echo $_SERVER['QUERY_STRING'] ?>', 'Farben', 'width=750,height=580,scrollbars=yes');
}
window.onfocus = new Function ("if (typeof Farben != 'undefined' && Farben.closed == false) Farben.close();");
//-->
</script>

Das in der zweiten, im neuen Fenster geöffneten Datei lautet:

<script type="text/javascript">
<!--
document.links[0].href = 'javascript:close()';
//-->
</script>

corner

  1. Ich habe zwei Dateien, von denen die erste mittels eines Links ein zweites Fenster aufruft, in das die zweite Datei geladen wird. Beim Klicken im ersten Fenster (focus) soll sich das zweite Fenster automatisch wieder schließen. Das klappt auch ganz gut. Nur wenn ich das zweite Fenster manuell von sich aus schließe, erscheint im ersten Fenster jedesmal eine Fehlermeldung im Internet-Explorer.

    Die da lautet?

    Wer kann mir helfen? Vielen Dank für Eure Mühe.

    wie wär's mit onblur() im Popup?
    <script type="text/javascript">
    window.onblur = function() { window.close(); };
    </script>

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hallo

      wie wär's mit onblur() im Popup?
      <script type="text/javascript">
      window.onblur = function() { window.close(); };
      </script>

      Struppi.

      Das hat mir vom Ansatz her fürs erste schon mal weiter geholfen, allerdings habe ich nun das Problem, dass sich das Fenster bereits dann schließt, wenn ich bloß hineinklicke und nicht erst, wenn ich es verlasse. Wie kann das passieren?!
      Nochmals Danke...

      corner

      1. Das hat mir vom Ansatz her fürs erste schon mal weiter geholfen, allerdings habe ich nun das Problem, dass sich das Fenster bereits dann schließt, wenn ich bloß hineinklicke und nicht erst, wenn ich es verlasse. Wie kann das passieren?!

        In welchem Browser?

        Struppi.

        --
        Javascript ist toll (Perl auch!)
  2. hi,

    Nur wenn ich das zweite Fenster manuell von sich aus schließe, erscheint im ersten Fenster jedesmal eine Fehlermeldung im Internet-Explorer.

    Ein Fenster, welches nicht mehr existiert, kannst du auch nich schliessen - also frage das vorher ab.

    if(popup && !popup.closed) { popup.close(); }
    http://de.selfhtml.org/javascript/objekte/window.htm#closed

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Nur wenn ich das zweite Fenster manuell von sich aus schließe, erscheint im ersten Fenster jedesmal eine Fehlermeldung im Internet-Explorer.

      Ein Fenster, welches nicht mehr existiert, kannst du auch nich schliessen - also frage das vorher ab.

      Wenn ich das richtig gesehen habe macht er das. von daher wundert mich auch eine Fehlermeldung.

      Struppi.

      --
      Javascript ist toll (Perl auch!)
  3. Lieber corner,

    window.onfocus = new Function ("if (typeof Farben != 'undefined' && Farben.closed == false) Farben.close();");

    ^^^^
    Fehlt da nicht die öffnende Klammer für "typeof()"? Oder sind die nicht nötig...?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    1. hi,

      if (typeof Farben != 'undefined'
                ^^^^
      Fehlt da nicht die öffnende Klammer für "typeof()"? Oder sind die nicht nötig...?

      typeof ist keine Funktion, sondern ein Operator.

      Und bspw. bei Benutzung des Additionsoperators benutzt du ja auch keine Klammern, oder? ;-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }