CrossMaster postMessage, identifique iFrame

yo suelopostMessage para enviar eventos desde un iframe a su documento padre. Tengo control sobre ambos lados, pero el contenido proviene de dos dominios diferentes.

Mi simple problema es que no puedo identificar el iFrame dentro de su método de devolución de llamada principal. La implementación se ve así:

En el iFrame:

parent.postMessage(JSON.stringify({action: "closeView" }),'*');

En la ventana principal:

window.addEventListener('message',function(event) {
if(event.origin !== 'https://example.com')
    return;

    // Parse message back to json
    var messageObject = JSON.parse(event.data);
    var source = event.source;
    /* this is returning: Window -URL- */
    console.log( source );
    /* This will throw Permission denied, although this code is inside of "parent" */
    console.log(source.parentNode);
},false);

Quiero identificar un determinado elemento principal del iframe, que está (lógicamente) dentro del documento principal.

Cuando trato de usarevent.source.parentNode o algo de jQuery en dicho objeto, Firefox dice, no puedo hacer esto para evitar XSS, error:Error: Permission denied to access property 'parentNode'

¿Cómo puedo obtener el elemento padre del iFrame, que activó elpostMessage oyente de eventos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta