haefti: Cross Domain auf Fenster oder IFrame zugreifen

Beitrag lesen

Hallo!
Ich weiß, dass diese Frag enicht zum ersten mal gestellt wird, aber ich habe noch keine befriedigende Antwort finden könne, also bitte nicht hauen, wenn ich nur zu blind war. ;-)

Es geht um Cross Domain-Problematik.
Die Situation ist folgende: Ich möchte von Domain A ein Browserfenster mit einer Seite aus Domain B öffnen. In diesem zweiten Fenster kann der User etwas aussuchen, dessen Ergebnis (im einfachsten Fall nur eine ID) ich irgendwie im ersten Browserfenster wieder übernehmen möchte, ohne die gesamte Seite des Mutterfensters neu zu laden. (also nicht einfach window.opener.location.href = <Seite von Domain A>?ID=<gewählteID>)

Folgendes habe ich erfolglos ausprobiert:

  • Im geöffneten Fenster window.opener.myCallbackFunction(ID) aufrufen ist nicht erlaubt.
    Interessanterweise kann ich window.opener.location.href setzen, jedoch z.B. auch window.opener.name nicht auslesen.

  • Im Mutterfenster (Domain A) habe ich einen IFrame eingebaut. Wenn es mir nun gelänge, vom zweiten Fenster aus in diesen IFrame eine URL, die den gewünschten Paramter per GET bekommt, zu laden, könnte ich diesen im Kontext von Domain A auslesen und anschließend top.mycallbackFunction(ID) ausführen.
    Leider kann ich auf window.opener.location.href oder window.opener.name nicht zugreifen, wenn ich das zweite Fenster aus dem IFrame öffne.

  • Das IFrame aus dem vorherigen Punkt existiert noch, aber ich öffne aus dem regulären Fenster das zweite Fenster.
    Leider kann ich auch auf window.opener.iframeName.location.href oder window.opener.iframeName.name nicht zugreifen.

Mir ist ja klar, dass Cross Site Scripting regulär unterbunden wird (auch wenn die Browserhersteller massiv daran arbeiten, das mit den nächsten Versionen zu ändern), aber wieso kann ich die URL des öffnenden Fensters manipulieren, die URL eines darinliegenden IFrames aber nicht?
Habe ich hier einfach noch nicht alles ausprobiert oder ist es einfach nicht so ganz logisch? :-)

Vielen Dank für eure Hilfe!

Haefti