ejemplos ejemplo bootstrap allowfullscreen javascript jquery html5 jquery-mobile

javascript - ejemplo - Html5-Mensaje posterior del iframe de navegador cruzado-¿hijo a padre?



iframe video (2)

Una versión moderna y simplificada de la respuesta aceptada (que elimina el soporte legacy ie8 y hace que el código sea mucho más legible):

window.addEventListener(''message'',function(e) { var key = e.message ? ''message'' : ''data''; var data = e[key]; //run function// },false);

Por favor mira:

He estado siguiendo este tutorial - http://www.youtube.com/watch?v=R2hOvZ7bwXU , que básicamente explica cómo usar la correspondencia para pasar un mensaje de forma segura entre el iframe y el principal - básicamente terminas con algo como esto - http://html5demos.com/postmessage2

Mi problema es que necesito que funcione al revés (hijo a padre) y no sepa cómo enfocar la ventana padre.

este es mi código de receptor (en el padre) -

function handlingMsg(e) {alert("works") if(e.origin == "http://uc.dialogue.net") { var blah = e.data; alert(blah); } else{alert("error");} } addEventListener("message",handlingMsg, true);

y esta es la función del remitente que se desencadena por una forma simple (en el niño) -

var text=$(''.srchInput'').val(); window.parent.postMessage(text, "http://uc.dialogue.net");

¿Debo dirigirme a los padres de una manera diferente?

Saludos Paul


var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; // Listen to message from child window eventer(messageEvent,function(e) { var key = e.message ? "message" : "data"; var data = e[key]; //run function// },false);

Lo tengo para trabajar con lo anterior en la página principal y lo siguiente en la página secundaria -

parent.postMessage("loadMyOrders","*"); // `*` on any domain

Código copiado desde here .