iFrame postMessage не может прочитать event.source - PullRequest
0 голосов
/ 05 июня 2019

У меня есть окно и iFrame в нем.

В iFrame я делаю postMessage с некоторыми данными, чтобы сообщить родителю, что нужно изменить местоположение. Функция пост-сообщения работает хорошо.

Родительское окно хорошо его воспринимает. По некоторым причинам безопасности у меня есть тест, прежде чем использовать event.data для изменения местоположения.

Я делаю:

if (event.origin === document.location.origin && event.source === frame.contentWindow)

Первая часть этого условия верна, поэтому никаких проблем. Но вторая часть дает ложь, потому что:

В event.source у меня есть окно Object с некоторым бесполезным элементом:

Event.source

Вы видите URL https: // .... но до и после есть некоторые хреновые элементы.

А в frame.contentWindow у меня есть только URL like: « https://.... ».

Итак, чтобы код работал, мне нужно взять first [0] of event.source:

if (event.origin === document.location.origin && event.source[0] === frame.contentWindow)

Но зачем мне это делать? Почему event.source не дает мне просто URL типа frame.contentWindow?

Спасибо

...