2016-04-28 2 views
1

У меня есть набор параллельных IFrames на странице и вы хотите общаться через postMessage между ними. (Все они одинаковы, но родительская страница отсутствует).window.parent.frames ['id'] vs window.parent.frames [0]

Я хочу получить ссылку на другие рамы братьев и сестер изнутри рамки. Путь к этому, кажется, вызывает window.parent.frames, поскольку он не вызывает ошибку перекрестного происхождения при чтении.

В идеале я хотел бы использовать его таким образом: window.parent.frames['someFrameId'] Однако, на хроме, по крайней мере, я получаю заблокирован от этого:

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

VM11236: 1 Uncaught DOMException: Запрещенный кадр с происхождение «http://myframedomain.com» от доступа к кросс-происхождение кадра. (...)

Если я получаю его по индексу вместо этого, обернув через все в window.parent.frames, он doenst триггера я исключение.

Я пытаюсь выяснить, почему, потому что я видел, что другие интеграции используют его так, как я хочу использовать его раньше.

ответ

1

Для тех, кто интересуется, я считаю, что узнал, почему. Кажется, вам нужно правильно назвать ваши окна, чтобы использовать его таким образом.

window.name = 'my-frame'

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

работы

`window.name = не определено;

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

Uncaught DOMException