Jan: Fenstername bleibt nicht erhalten

Hallo zusammen.

Ich habe folgendes Problem:

Und zwar habe ich 2 Fenster. Einmal des normale Hauptfenster und ein Popup, welches von dem Hauptfenster aus mit einem Klick geöffnet wird.

Dem Hauptfenster gebe ich mittels "window.name=" den Namen "Hauptfenster". Dann öffne ich aus dem Hauptfenster heraus das Popup. In diesem Popup befindet sich die Anweisung:

<a href="#" onClick="Hauptfenster.location.href='http://www.spiegel.de'; return false;">Spiegel aufrufen</a>

Der Link soll also im Hauptfenster einen Link öffnen. Aber das klappt nicht. Laut SelfHTML bleibt ein Fenstername solange erhalten, wie die Seite besteht. Und das Hauptfenster bleibt ja bestehen. Es kommt zwar in den Hintergrund wegen dem Popup, aber trotzdem wird am Hauptfenster nichts geändert.

Ich möchte es NICHT mit opener, top oder parent machen. Die Gründe auszuführen, würde sich hinziehen, wäre ja auch egal, weil es zumindest hier um die Tatsache geht, dass es doch theoretisch klappen müsste, oder?

Wäre cool, wenn da jemand weiter weiss.

Gruss,
Jan

  1. Hello,

    man möge mich korrigieren wenn ich falsch liege, aber ich glaube du gehst da von einer nicht vorhandenen Gleichheit von Fensternamen und JavaScript-Referenz aus.

    Dem Hauptfenster gebe ich mittels "window.name=" den Namen "Hauptfenster".

    OK, ab diesem Moment sollte es möglich sein, bei einem <a>-Element als target "Hauptfenster" anzugeben.

    <a href="#" onClick="Hauptfenster.location.href='http://www.spiegel.de'; return false;">Spiegel aufrufen</a>

    Hier gehst du davon aus, dass es eine Fensterreferenz namens Hauptfenster gibt, die hat allerdings niemand irgendwo hergezaubert (wie gesagt, meine Meinung).

    Mein Vorschlag wäre:

    1. Nimm doch einfach opener, es dazu ist er da
    2. Wenn du den opener unbedingt vermeiden willst, dann musst du statt des Namens die Fensterreferenz (also den Rückgabewert von open()) in das neue Fenster schaffen, ab dem Moment kannst du auch wieder damit arbeiten.

    Ich glaube der Name alleine bringt dich nicht weit.

    MfG
    Rouven

    --
    -------------------
    Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
    1. Moin

      sollte nicht

      <a href="http://www.spiegel.de" target="Hauptfenster">Spiegel aufrufen</a>

      genau diesen Zweck erfüllen?
      (ich gebe ja zu: viel zu wenig JavaScript dabei ;-)

      Gruß
      rfb

      1. Hello,

        <a href="http://www.spiegel.de" target="Hauptfenster">Spiegel aufrufen</a>
        genau diesen Zweck erfüllen?

        Sollte es in der Tat, solange es sich um einen simplen URL-Wechsel handelt. Spannend wirds halt alleine schon, wenn du einen Reload, ein Submit, oder sonstirgendwas an JS-Aktionen im Hauptfenster machen willst.

        MfG
        Rouven

        --
        -------------------
        Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
        1. <a href="http://www.spiegel.de" target="Hauptfenster">Spiegel aufrufen</a>
          genau diesen Zweck erfüllen?
          Sollte es in der Tat, solange es sich um einen simplen URL-Wechsel handelt. Spannend wirds halt alleine schon, wenn du einen Reload, ein Submit, oder sonstirgendwas an JS-Aktionen im Hauptfenster machen willst.

          Ein submit geht ebenfalls, da das form Tag durchaus mit einem target gefüttert werden kann. Bei Reload wird man nicht um die Referenzierung herumkommen.

          Struppi.

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

            Mit "target=" hat es geklappt.

            Der 2. Vorschlag vom Rouven hätte ja nicht geklappt, weil ich das Hauptfenster nicht mit open() öffne und somit auch kein Handle habe. Also wenn ich richtig vestanden habe, was überhaupt gemeint ist.

            1. Hi,

              Der 2. Vorschlag vom Rouven hätte ja nicht geklappt, weil ich das Hauptfenster nicht mit open() öffne und somit auch kein Handle habe.

              Ähm, natürlich hast Du das Handle! Das Handle des Elternfensters ist opener. =:-o

              BTW: Du kannst dir auch nachträglich das Handle jeden Fensters holen, wenn der Name bekannt ist (und nicht gegen die SOP verstoßen wird), indem Du open() auf ein bereits offenes Fenster anwendest.

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Hello,

                Ähm, natürlich hast Du das Handle! Das Handle des Elternfensters ist opener. =:-o

                ...und anders herum kann das Hauptfenster mit window oder self seine Referenz an andere weitergeben, wenn mich nicht alles täuscht.

                MfG
                Rouven

                --
                -------------------
                Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)