Kalle_B: Zwischen zwei Fenstern hin- und herwechseln - wie?

Hallöle,

ich habe eine Liste mit Adressen, bei Klick auf eine davon wird ein neues Fenster aufgemacht zur Adresspflege:

<a href='...' target='p102'>

Im Fenster p102 kann man nun ändern. Wenn danach zurück in die Übersicht gewechselt wird zur Bearbeitung der nächsten Adresse, wird das Fenster p102 wiederverwendet, aber

<body onLoad="self.focus()">

wirkt nicht, das Fenster bleibt im Hintergrund. Problem aber gelöst mit einem Javascript- Kommando ganz am Ende der Seite:

self.focus();

Also, das HIN klappt nun beliebig oft.

Nun wäre es pfiffig, im Fenster p102 einen Link zurück auf die Liste zu haben. Ist das das parent.window?

Leider funktioniert dieser Link in p102 nicht:

<p onClick='parent.window.focus()'>XXX</p>

Wie geht's ?

Lieben Gruß, Kalle

  1. Leider funktioniert dieser Link in p102 nicht:

    <p onClick='parent.window.focus()'>XXX</p>

    aber dieser:

    <p onClick='opener.focus()'>XXX</p>

    Danke für's Mitdenken.

    Kalle

    1. Da das Hin- und Herswitchen in der Hirarchie gut funktioniert, würde mich interessieren, ob ich per Javascript auch Zugriff zu anderen Fenstern haben kann.

      Also Beispiel:

      Aus einer Liste p101 heraus kann ich pro Adresse verschiedene Fenster öffnen

      • p102 Adresspflege Messebesucher
      • p103 Terminwünsche Besucher
      • p104 Anwesenheit Besucher

      dann wäre es schon pfiffig, von p102 aus das Fenster p103 fokussieren zu können, ohne über den opener zu gehen.

      Aber so etwas funktioniert nicht, obwohl window.name = p102 besteht:

      <p onClick='window.p102.focus()'>window.p102.focus()</p>

      Opera meldet:

      name: TypeError
      message: Statement on line 1: Cannot convert undefined or null to Object
      Backtrace:
        Line 1 of function script
          window.p102.focus()
        ...
      stacktrace: n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'

      Kalle

      1. Da das Hin- und Herswitchen in der Hirarchie gut funktioniert, würde mich interessieren, ob ich per Javascript auch Zugriff zu anderen Fenstern haben kann.

        Nein.
        Es gibt einen workaround den du aber mit eine wenig suche finden solltest, da diese Frage relativ häufig hier auftaucht.

        Struppi.

        1. Es gibt einen workaround den du aber mit eine wenig suche finden solltest, da diese Frage relativ häufig hier auftaucht.

          Habe mir nun einiges angeschaut, es geht aber immer um die hirarchische Beziehung
          window.open() <==> opener

          Ich suche den Javascript-Zugriff auf ein beliebiges Fenster, wenn mehrere Fenster derselben Domain geöffnet sind. Unabhängig davon, wie es geöffnet wurde.

          Ein Fenster könnte sich ja selbst einen Namen geben window.name=...

          Nehmen wir an, ich mache mehrere Fenster in Opera auf und tippe die URL jeweils ein (wichtig: Dieselbe Domain, sonst Sicherheitssperre des Browsers):

          www.test.de/abc.htm  window.name='abc';
          www.test.de/def.htm  window.name='def';
          www.test.de/ghi.htm  window.name='ghi';

          Wie kann ich nun vom window abc das window ghi fukussieren?

          LG, Kalle

          1. Hallo,

            Nehmen wir an, ich mache mehrere Fenster in Opera auf und tippe die URL jeweils ein (wichtig: Dieselbe Domain, sonst Sicherheitssperre des Browsers):

            www.test.de/abc.htm  window.name='abc';
            www.test.de/def.htm  window.name='def';
            www.test.de/ghi.htm  window.name='ghi';

            Wie kann ich nun vom window abc das window ghi fukussieren?

            indem du "pro forma" mit window.open() versuchst, ein Fenster mit dem gewünschten Namen zu öffnen. Da es schon existiert, wird in Wirklichkeit kein neues geöffnet, sondern du bekommst nur eine frische Referenz auf das schon existierende Fenster. Damit kannst du nun nach Herzenslust hantieren.

            So long,
             Martin

            --
            "Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Sagenhaft. Steht da auch, wie sie es gemacht haben?" - "Ja. Sie haben den Lichtstrahl durch eine Behörde geleitet."
            1. Moin!

              indem du "pro forma" mit window.open() versuchst, ein Fenster mit dem gewünschten Namen zu öffnen. Da es schon existiert, wird in Wirklichkeit kein neues geöffnet, sondern du bekommst nur eine frische Referenz auf das schon existierende Fenster. Damit kannst du nun nach Herzenslust hantieren.

              Es gibt zum Thema "Fensterzugriff" in Javascript ja auch sowas wie Artikel bei SELFHTML.

              http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/

              - Sven Rautenberg

            2. ... das funzt.

              indem du "pro forma" mit window.open() versuchst, ein Fenster mit dem gewünschten Namen zu öffnen. Da es schon existiert, wird in Wirklichkeit kein neues geöffnet, sondern du bekommst nur eine frische Referenz auf das schon existierende Fenster. Damit kannst du nun nach Herzenslust hantieren.

              Kalle