thebig: opener.location.reload() funzt nicht...

Hallo,
wenn ich opener.location.reload()in meinem Popup Fenster aufrufe, bekomme ich die Fehlermeldung "Zugriff verweigert". Das Parent-Fenster ist aber noch geöffnet.

Ich verwende den IE 6.0

Kann mir jemand helfen?? Danke im voraus..

  1. hi,

    wenn ich opener.location.reload()in meinem Popup Fenster aufrufe, bekomme ich die Fehlermeldung "Zugriff verweigert".

    wie das korrekt geht, siehst du in http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onload

    Christoph S.

    1. hi,

      wenn ich opener.location.reload()in meinem Popup Fenster aufrufe, bekomme ich die Fehlermeldung "Zugriff verweigert".

      wie das korrekt geht, siehst du in http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onload

      Christoph S.

      Danke, dass habe ich auch schon gelesen, aber danach verwende ich die richtige Syntax.

      Das komische ist, dass opener.location.href = "bhbh" funktioniert, bei opener.location.reload(9 kommt einer Fehlermeldung (Erlaubnis verweigert)

      1. hi,

        Das komische ist, dass opener.location.href = "bhbh" funktioniert, bei opener.location.reload() kommt einer Fehlermeldung (Erlaubnis verweigert)

        dann mußt du unbedingt die Domains überprüfen. Es sieht so aus, als würden die beiden Siten auf verschiedenen Servern und Serveradressen liegen

        Christoph S.

        1. Ich habe es oben schonmal geschrieben, es handelt sich dabei um eine CGI-Script mit unterschiedlichen Parametern in beiden Fenstern..

  2. Moin!

    wenn ich opener.location.reload()in meinem Popup Fenster aufrufe, bekomme ich die Fehlermeldung "Zugriff verweigert". Das Parent-Fenster ist aber noch geöffnet.

    "Zugriff verweigert" ist ein deutliches Zeichen, daß in den zwei beteiligten Fenstern unterschiedliche Domains angezeigt werden. Javascript hat da eine Sicherheitsfunktion: Kein Zugriff auf fremde Domaindaten!

    Wenn das nicht der Fall ist, dann brauchen wir den Quellcode, besser noch die URL der Seite, die nicht funktioniert. Raten ist bei sowas immer schlecht.

    - Sven Rautenberg

    1. Erstmal danke für deine Antwort!

      Also die "Domains" sind in soweit unterschiedliche, dass es zwar in beiden Fenstern das selbe CGi-Script ist, aber jeweils mit unterschiedlichen Parametern. Oder kann ich eine Cgi-Seite nicht reloaden????

      1. hi,

        Also die "Domains" sind in soweit unterschiedliche, dass es zwar in beiden Fenstern das selbe CGi-Script ist, aber jeweils mit unterschiedlichen Parametern. Oder kann ich eine Cgi-Seite nicht reloaden????

        oh.

        Es gibt keine "CGI-Seiten". Was du "reloaden" kannst, ist der Datenstrom, und selbst wenn die Script den gleichen Namen tragen, _müssen_ sie auf unterschiedlichen Servern auch unterschiedliche Pfade haben und ähnliches.
        Leg deine beiden HTML-Dokumente (auch wenn sie CGI-generiert werden) auf denselben Server, sorge dafür, daß die Parametern identisch sind, und alles dürfte stimmen.

        Christoph S.

        1. Ok, CGI-Seiten war unglücklich ausgedrückt..
          Es ist ein CGI-Script, dass einmal ohne Paramter ausgeführt wird (Hauptfenster) und im Popup-Fenster mit bestimmten Parametern aufgerufen wird.
          Der Serverpfad ist somit bei beiden gleich.

          1. na, dann nochmal ...

            Es ist ein CGI-Script, dass einmal ohne Paramter ausgeführt wird (Hauptfenster) und im Popup-Fenster mit bestimmten Parametern aufgerufen wird. Der Serverpfad ist somit bei beiden gleich.

            Wenn schon CGI, so ist nicht zu verstehen, warum du deine Funktion  mit Javascript machen willst, aber das ist deine Sache. Zu überdenken ist noch, was "reload" eigentlich macht. Es kann schließlich nur irgendetwas "neugeladen" werden, was schonmal da war  -  und wenn du dein Popup-Fenster grade erzeugt hast, hat das wahrscheinlich gar nichts, was es "neu laden" kann außer sich selbst.

            Warum beharrst du auf "reload"? Nimm "href" dafür.

            Christoph S.

            1. na, dann nochmal ...

              Es ist ein CGI-Script, dass einmal ohne Paramter ausgeführt wird (Hauptfenster) und im Popup-Fenster mit bestimmten Parametern aufgerufen wird. Der Serverpfad ist somit bei beiden gleich.

              Wenn schon CGI, so ist nicht zu verstehen, warum du deine Funktion  mit Javascript machen willst, aber das ist deine Sache. Zu überdenken ist noch, was "reload" eigentlich macht. Es kann schließlich nur irgendetwas "neugeladen" werden, was schonmal da war  -  und wenn du dein Popup-Fenster grade erzeugt hast, hat das wahrscheinlich gar nichts, was es "neu laden" kann außer sich selbst.

              Warum beharrst du auf "reload"? Nimm "href" dafür.

              Christoph S.

              Im Popup fenster wird ein neues Eintrag in eine MySQL-DB gemacht, der im hauptfenster erscheinen soll..
              location.href funktioniert nicht, weil die URL nicht immer gleich bleibt (verschiedene Parameter)

              Ciao

              1. ok, langsam kriegen wirs ja:

                Im Popup fenster wird ein neues Eintrag in eine MySQL-DB gemacht

                Warum hast du das nicht gleich gesagt ? Dein posting hast du unter das Thema "Javascript" gestellt, es hätte besser unter "Programmiertechnik" erscheinen sollen  -  und dein anfangs mitgegebener Beispielcode zeigt nix von Datenbankanbindung und nix von CGI ...
                Dein Code zeigt auch absolut nix davon, _wie_ der Eintrag in deine MySQL-Datenbank vorgenommen wird. Also muß man dir der Reihe nach alle Würmer aus der Nase ziehen ;-)

                der im hauptfenster erscheinen soll..

                als Konzeption verständlich, aber als Codebeispiel bisher nicht überprüfbar. Wenn du bei Javascript bleiben willst, solltest du in einer solchen Konzeption die "reload"-Funktion ganz aus dem Code des Popup-Fensters rausnehmen und ganz einfach in dein Hauptfenster reinschreiben. Außerdem ist dann _möglicherweise_ geraten, mit einer META-Angabe zu "Pragma no Cache" dafür zu sorgen, daß immer die aktuelle Version des Hauptfensters vom Server geholt wird und nicht aus dem lokalen Browser-Cache

                location.href funktioniert nicht, weil die URL nicht immer gleich bleibt (verschiedene Parameter)

                Das mit den "verschiedenen Parametern" bleibt unklar, solange wir nicht mehr Code kennen  -  und keine Sorge: auch sämtliche "stillen Mitleser" hier im Forum wollen dir keineswegs deinen Code klauen, sie wollen aber sehen, wie man Strategien zur Problemlösung entwickeln kann.

                Lade deinen Code möglichst vollständig in irgendein temporäres Verzeichnis hoch, falls es zuviel für eine direkte Darstellung hier im Forum sein sollte. Ich bin überzeugt, daß dann irtendjemand draufkuckt, der die Tomaten von den Augen nehmen kann (muß nicht unbedingt ich sein)

                Christoph S.

                1. Vielen Dank soweit, ich glaube wir verstehen uns langsam ;)

                  Direkt ins Hauptfenster reinschreiben funktiniert nicht, weil die Daten vom MySQL Server geholt werden sollen.

                  Also der Link zu der Seite ist:
                  www.s-x-m.de/cgi-bin/svor/stvor.pl

                  Von dort aus öffnet sich dann das PopUp. Ich denke danach is einiges klarer!

                  1. Hi,
                    ich habe die Lösung selbst gefunden.

                    Im PopUp-Fenster wurde zwar das selbe CGI-Script aufgerufen, jedoch war die Aufrufmethode "Get", somit war die location "Scriptname?Parameter1=Wert1&Parameter2=Wert2" usw.. Im Hauptfenster wurden die Parameter mit "POST" übergeben, somit war die location "Scriptname".

                    Und genau da lag das Problem, dass JavaScript das Hauptfenster nicht aktualisieren konnte, weil es aufgrund der Sicherheitsbeschränkungen "die Seiten nicht als zusammengehörig erkannte"

                    Trotzdem vielen Dank, ich hoffe die Lösung ist allen klar

                    1. Congratulations,

                      ich habe die Lösung selbst gefunden.
                      Im PopUp-Fenster wurde zwar das selbe CGI-Script aufgerufen, jedoch war die Aufrufmethode "Get", somit war die location "Scriptname?Parameter1=Wert1&Parameter2=Wert2" usw.. Im Hauptfenster wurden die Parameter mit "POST" übergeben, somit war die location "Scriptname".

                      Dann ist ja alles gut geworden. Ich konnte allerdings nichts nachsehen, weil dein link nichts angezeigt hat

                      Trotzdem vielen Dank, ich hoffe die Lösung ist allen klar

                      jedenfalls denen, die wissen, daß es einen Unterschied zwischen "GET" und "POST" gibt (staht ja in SELFHTML drin)

                      Grüße aus Berlin

                      Christoph S.