2016-04-28 9 views
1

Ich habe eine Reihe von Geschwister IFrames auf einer Seite, und möchte über postMessage zwischen ihnen kommunizieren. (Sie sind alle auf demselben Ursprung, aber die übergeordnete Seite ist nicht).window.parent.frames ['id'] vs window.parent.frames [0]

Ich möchte einen Verweis auf andere Geschwister-Frames aus einem Rahmen erhalten. Der Weg dazu scheint window.parent.frames aufzurufen, da es beim Lesen keinen Kreuzursprungfehler auslöst.

Im Idealfall würde Ich mag es auf diese Weise nutzen: window.parent.frames['someFrameId'] jedoch auf Chrom zumindest, ich tun, so blockiert werden:

window.parent.frames['frame-id']

VM11236: 1 Uncaught DOMException: Blockiert ein Rahmen mit Herkunft "http://myframedomain.com" von einem Querursprungsrahmen erreichbar. (...)

Wenn ich es durch den Index erhalten stattdessen durch in window.parent.frames durch alles Looping, es doenst Trigger th die Ausnahme.

Ich versuche herauszufinden, warum, weil ich andere Integrationen gesehen habe, benutze es so, wie ich es vorher benutzen möchte.

Antwort

1

Für diejenigen, die sich wundern, ich glaube, ich habe herausgefunden, warum. Es scheint, dass Sie Ihre Fenster richtig benennen müssen, um es auf diese Weise zu verwenden.

window.name = 'my-frame'

window.parent.frames['my-frame']

arbeitet

`window.name = nicht definiert;

window.parent.frames['my-frame']

Uncaught DOMException