Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Script js con método window.postMessage() que permite de forma segura la comunicación de origen cruzado entre Windowobjetos; por ejemplo, entre una página y una ventana emergente que generó, o entre una página y un iframe incrustado en ella.

README

Script js con método window.postMessage() que permite de forma segura la comunicación de origen cruzado entre Windowobjetos; por ejemplo, entre una página y una ventana emergente que generó, o entre una página y un iframe incrustado en ella.

Mecanismo esencial para poder cambiar o ajustar las propiedades de un iframe dentro de una página web.

De este modo se resuelve el siguiente problema:

Uncaught DOMException: Blocked a frame with origin from accessing a cross-origin frame.
<script type="text/javascript">
parent.postMessage(JSON.stringify({
event: 'resize',
height: $(document).height()
}), '*');
</script>
<iframe id="app" src="iframe.html" frameborder="0" scrolling="no" seamless="seamless" width="100%"></iframe>
<script type="text/javascript">
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
if (event.origin !== 'iframe.html') {
return;
}
var object = JSON.parse(event.data);
if (object.event === 'resize') {
$("#app").height(object.height);
}
};
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.