chris: window.opener...

Hallo liebes Forum!

Ich weiß, dieses Thema wurde schon 1000mal plattgetreten, aber es funktioniert bei mir einfach nicht!! Sehr deprimierend :(

Also mein Problem:
Ich habe eine Seite mit zwei (!) Framesets. Das erste Frameset ruft ein zweites Frameset auf, das dann letztendlich die Seite darstellt. Der Hauptframe (also der, wo die Post abgeht) hat den schicken Namen "content".

Nun öffnet dieser Frame per window.open ein ganz normales Pop-Up Fenster, in dem eine Paßwortabfrage stattfindet. Wird das Paßwort nun korrekt eingegeben, soll im Hauptframe ("content") eine neue Startseite angezeigt werden. Dieses dachte ich, wird so gelöst:

<script language=JavaScript>
   opener.location.href="http://irgendwas.de";
</Script>;

Das geht aber nicht. Ich bekomme einen JavaScript Fehler...
Auch wenn ich window.opener.parent.content.location.href=... rangehe, fruchtet das nicht...

Selbst top.opener.close() geht nicht...Hm...

Wer hat eine Idee ?
Warum zum Henker geht das nicht ??

Beste Grüße,
Chris

  1. Hallo Chris!

    Nun öffnet dieser Frame per window.open ein ganz normales Pop-Up Fenster, in dem eine Paßwortabfrage stattfindet. Wird das Paßwort nun korrekt eingegeben, soll im Hauptframe ("content") eine neue Startseite angezeigt werden. Dieses dachte ich, wird so gelöst:

    <script language=JavaScript>
       opener.location.href="http://irgendwas.de";
    </Script>;

    Das geht aber nicht. Ich bekomme einen JavaScript Fehler...

    Und der lautet?

    Irgendwo muss tatsächlich ein Fehler sein, denn opener funktioniert auch, wenn das Popup-Fenster von einer Datei aus aufgerufen wurde, die in einem Frameset steckt.

    Siehe: http://www.atomic-eggs.com - Dort über's Menü die Sitemap aufrufen, dann von der unteren Tabelle (SiteMap 2: die Verweise werden in diesem Fenster geöffnet) ziemlich unten SELFSPEZIAL wählen. SELFSPEZIAL ist nun im Framset von Atomic Eggs. Dann von der SPEZIAL-Seite aus "News" wählen, und von dem Popup-Fenster mit den News aus irgendeinem Abschnitt irgendeinen Link wählen, dem keine englische Flagge voransteht (geht sonst im neuen Fenster auf).

    Der Code sieht wie folgt aus (im Header):

    <script language="JavaScript" type="text/javascript">
    <!--
    function oeffnen(URL) {
      opener.location.href = URL;
    }
    //-->
    </script>

    Und der Aufruf (im Verweis-Code):

    <a href="javascript:oeffnen('sartikel.html');"><b>SELF<i>SPEZIAL</i>-Beiträge</b></a>

    Such mal, wo sonst der Fehler sein könnte oder poste ein bißchen mehr Code, damit wir sehen, wo der Schuh drückt!

    Bis danndann
    PAF (patrickausfrankfurt)

    <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

    <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" id="ei0" alt="Atomic Eggs - die humosophische Seite" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="if(document.all)document.all.ei0.style.cursor='hand';status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

    1. Hallo Chris!

      Hier poste ich wie versprochen, was ich Dir eben auch via eMail sagte, damit andere die Problematik und deren Lösungsansätze auch sehen.

      -------
      Sei mir nicht böse, aber bitte im Forum weiter posten - es sind vielleicht andere Leute an der Lösung interessiert (eMails bitte nur dann, wenn es sich um private Fragen dreht, OK?)...

      Tja, IE hält sich da ein bißchen bedeckt und meint nur "JavaScript Error"...
      NN meint "opener.location has no properties. "
      Ahhhhaa! Da fällt mir gerade was auf!

      Es wird aus dem Mainframe ("content") heraus ein Pop-Up geöffnet, das
      allerdings wieder geschlossen wird und ein neues (nämlich obiges) Pop-Up
      aufruft!

      Dann ist es logisch. Wo kein opener mehr da ist, kann es auch keine "properties" haben ;-)

      (...) PHP-Code (...)

      Von PHP habe ich leider null idea!

      Das hieße ja, daß das opener Fenster

      bereits geschlossen ist. Aha! ...o.k., stellt sich das neue Problem...wie
      kann ich denn dann den Inhalt im "content" Frame ändern ? Hast Du da eine
      Idee ???

      Mit Framename ansprechen. Du kannst, wenn das opener-Fenster geschlossen wurde und also opener.location.href nicht mehr funktionieren kann, über eine von mir gepostete Lösung dennoch einen Frame im Set ansprechen, sogar vom Popup-Fenster aus. Siehe:

      <../../sfarchiv/2000_3/t21584.htm#a110240>

      Bis danndann
      PAF (patrickausfrankfurt)

      <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

      <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" id="ei1" alt="Atomic Eggs - die humosophische Seite" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="if(document.all)document.all.ei1.style.cursor='hand';status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

      1. Hallo Holger!

        Danke für Deine Idee...funktioniert nur leider auch nicht... :(

        Wie ich gerade festgestellt habe, wird ein Pop-Up Fenster aus dem "Content" Frame geöffnet. Das wird allerdings sofort wieder geschlossen, wenn der User nicht eingeloggt ist und öffnet ein neues pop-Up. Von daher wäre der "opener" also bereits geschlossen und kann nicht mehr referenziert werden.

        Wie kann ich denn den vorherigen Opener ändern ?

        Beste grüße,
        Chris

        1. Hallo Chistoph!

          für Deine Idee...funktioniert nur leider auch nicht... :(

          Also, ich blicke da nicht mehr durch, was Du genau willst. Entweder gibst Du uns eine URL oder stellst eine Beispielsseite online, falls wir die Originalseite aus irgendeinem Grund noch nicht sehen dürfen.

          Bis danndann
          PAF (patrickausfrankfurt)

          <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

          <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" id="ei2" alt="Atomic Eggs - die humosophische Seite" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="if(document.all)document.all.ei2.style.cursor='hand';status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

          1. Halli Hallo,

            ja, ich steige da leider auch nicht mehr durch...
            Wenn ich eine Lösung finde, poste ich sie natürlich!

            Eine Beispielsseite kann ich leider nicht angeben, da ich intern auf einem "Construction-Server" programmiere, und diese Seite daher (leider) nicht online erreichbar ist...

            Trotzdem danke an Euch!
            Chris

  2. Hi
    Opener Fenster schliessen:
    opener.top.close();
    Dein Problem loesen:
    opener.top.framename.content.location.href=...;
    Dabei ist framename der Name des Uebergeordneten Frames, das das zweite Frameset laedt.
    Tschau Holger