Моя цель - добавить css к контенту iframe с родительской страницы. У меня есть два разных домена, один из которых отображает iframe от другого, я использую postMessage
, чтобы обойти проблему политики same-origin
, однако, похоже, что она не работает должным образом. Когда я пытаюсь console.log(iframe.contentWindow)
я получаю сообщение об ошибке в консоли Uncaught DOMException: Blocked a frame with origin "http://parent.domain.com" from accessing a cross-origin frame.
iframe
<iframe
sandbox="allow-same-origin allow-scripts allow-popups allow-forms"
src="https://domain.with.iframe.content"
width="100%"
frameBorder="0"
id="iframe-1"
></iframe>
Страница с iframe.
<script>
window.addEventListener('message', function(e) {
var iframe = document.getElementById("iframe-1");
console.log(e)
console.log(e.origin)
console.log(iframe)
console.log(iframe.contentWindow)
}, false);
</script>
Страница, которую я ' m iframing.
<script>
var body = document.body
body.onload = function resize() {
parent.postMessage(["hey"], "*");
}
</script>
</script>
Из консоли видно, что прослушиватель событий message
работает, однако эта строка console.log(iframe.contentWindow)
выдает ошибку. Любая помощь будет высоко ценится, спасибо.