postMessage неопределенная ошибка с динамически добавленным атрибутом - PullRequest
0 голосов
/ 09 января 2019

Я добавляю атрибут " name = true " в iframe динамически. Получение ошибки "Не удается прочитать свойство 'postMessage' из неопределенного" но он отлично работает на консоли, используя тот же "window.iframe.true"

обновлено: возвращение "победа" не определено

<iframe src="crossdomain.com" id="iframe"></iframe>

<script>
    var win = window.iframe.nametrue;
    win.postMessage("statusPause", "othersite.com");
</script>

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Я не могу понять это "nametrue". Тем не мение. Это должно по крайней мере решить неопределенную проблему.

var win = document.getElementById('iframe');
win.contentWindow.postMessage("statusPause", "othersite.com");

Как вы можете видеть здесь https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage Для postMessage требуется правильное целевое окно. Ваше "window.iframe.nametrue" не предназначено ни для чего, и даже если так. Вероятно, это неверное ожидаемое целевое окно. Я получил iframe, используя getElemenetById и назвал «contentWindow» на полученном iframe, он возвращает действительное targetWindow, как требуется

0 голосов
/ 09 января 2019

Вам необходимо присвоить атрибут name="nametrue" перед назначением выигрыша в iframe.

...