Funções Easy Helper para PostMessage

Facilita muito o gerenciamento de mensagens para frames.
WebWorkers também.
Usa JSON.stringify e parse para permitir que você envie objetos, comandos de string simples ou ambos.

/**************************
Message Passing to frame

*************************/


function postMsgToFrame(cmd, msg) {
var frame = document.getElementById("myIframe");
if (!msg || msg == null || msg == undefined) {
msg
= null;
}
var packet = { "cmd": cmd, "msg": msg }
console
.log("sending to client", JSON.stringify(packet));
frame
.contentWindow.postMessage(JSON.stringify(packet), "*");
}


/**************************
Message recieving from frame

**************************/


function recieveMessage(e) {
var packet = JSON.parse(e.data);
console
.log("new cmd packet", packet);
if (packet.cmd == something) {
doSomething
();
} else if (packet.cmd == something_else) {
doSomethingElse
();
} else {
console
.warn('bad packet', packet);
}
};

window
.addEventListener("onmessage", recieveMessage, false);