Katharina: IE7, parent.location.href, verschiedene Domains

Hallo,

Ich habe in meiner Seite, die unter Domain A / Protokoll A / Port A läuft einen IFrame, der ebenfalls unter Domain A / Protokoll A / Port A läuft. Dieser IFrame enthält einen weiteren IFrame, der unter Domain B / Protokoll B / Port B läuft. Aus dem inneren IFrame wird versucht ein parent.location.href zu setzen, d.h. den Vater IFrame neu zu laden. Im FF, OP, IE6 funktioniert das auch. Im IE7 wird allerdings nicht der IFrame neu geladen, sondern ein Popup geöffnet (mit der parent.location.href URL).

Im Netz habe ich folgenden Beitrag gefunden:
http://www.spotlight-wissen.de/lisp/pages/messages/ajas-1168866267-574

Allerdings scheint mir die Antwort nicht ganz korrekt zu sein, denn ich habe weiter probiert:

  • Lasse ich das Ganze in einer Seite mit Domain A / Protokoll A / Port A laufen und habe darin direkt den IFrame mit der Domain B / Protokoll B / Port B, dann funktioniert daraus parent.location.href (trotz der unterschiedlichen Protokolle, Domains, ...).
  • Versuche ich aus dem inneren IFrame top.location.href aufzurufen, dann funktioniert das (trotz der unterschiedlichen Protokolle, Domains, ...)

Ich kann Euch leider keinen Quellcode und keine Testseite zur Verfügung stellen, weil das von meinem Projekt aus verboten ist. Habt Ihr trotzdem eine Idee, warum der 'Zwischen-IFrame' mit der gleichen Domain / Port / Protokoll wie die Hauptseite diesen Fehler verursacht?

Danke für Eure Antworten,
Grüße,
Katharina

  1. Hallo nochmal,

    ich habe keine Möglichkeit gefunden das Problem zu umgehen. Lösen werde ich das Ganze jetzt mit einem IFrame (Kommunikations-IFrame): Ich erstelle also in dem inneren IFrame mit Domain B / Port B / Protokoll B einen weiteren IFrame mit Domain A / Port A / Protokoll A (des Eltern IFrames). Da dieser IFrame gleiche Domain wie der zu ladende Eltern IFrame besitzt kann ich dann also mit parent.parent.location.href auch im IE7 den Eltern IFrame neu laden.

    Das Ganze nur als Info für Euch, wenn jemand mal das Gleiche Problem hat...

    Grüße,
    Katharina

    1. Hello,

      mit parent.parent.location.href

      und da lässt er dich zuverlässig ran? Ich hätte zumindest vor irgendwelchen Tests Restzweifel, ob man auf die parent-Eigenschaft eines Fensters zugreifen darf, auf das man keinen Zugriff hat.

      MfG
      Rouven

      --
      -------------------
      Inter Arma Enim Silent Leges  --  Cicero
      1. Hallo Rouven,

        und da lässt er dich zuverlässig ran?

        unsere Tests haben zumindest ergeben, daß der IE7 uns da ran lässt, sobald ich von einer Seite komme, die die gleiche Domain und das gleiche Protokoll besitzt. Ich will parent.parent.location.href ja auch nicht lesen (das darf ich nach wie vor nicht, denke ich), sondern nur neu setzen.

        Apropos: Zugriff auf das parent.parent Fenster habe ich ja: Ich kann durch den IFrame hindurch sogar Javascript Objekte aufrufen (solange die Domains stimmen...).

        Grüße,
        Katharina