Como complemento de la referencia al complemento Ben Alman pensé que publicaría este ejemplo de trabajo. Informa sobre un iframe que tiene una página de origen que contiene el script de consulta de datos de autenticación de jquery & que luego pasa el resultado a la ventana principal de {other domain} utilizando el complemento de mensajes.
NB mensaje complemento se romperá si se utiliza v9 JQ como JQV9 no utiliza "navegador" se hace referencia en el plugin
1er paso: Agregue el código plugin para ambos documentos de envío y recepción:
http://benalman.com/projects/jquery-postmessage-plugin/
segundo paso: Añadir este documento a enviar:
$.postMessage(
$(X).html(),
'http://DOMAIN [PORT]/FOLDER/SUBFOLDER/RECIEVINGDOCNAME.XXX'
) ;
Donde X puede ser una var local que contiene una matriz json preformateada u otras cosas, y la URL http aquí es la dirección del documento receptor.
3er paso: Añadir este documento a recibir:
$.receiveMessage(
function(event){
alert("event.data: "+event.data);
$("#testresults").append('<h1>'+event.data+'<h1>');
},
'http://DOMAIN.COM OR SOMETHING'
);
Cuando la url http es el dominio del documento de envío. Bueno en IE 8, 9, FF16, safari de Windows (windows wait x V9 aún no probado), safari x mac.
El resultado es cualquier elemento que desee de otra página de dominio (a la que tenga acceso ...).
Como seguimiento, aquí está el código que crea el iframe e intenta acceder a él: jQuery ("body"). Prepend (' '); var ihistory = jQuery ("# jQuery_history") [0]; var iframe = ihistory.contentWindow.document; – Chris
Esta biblioteca es compatible con HTML5 postMessage y navegadores heredados con resize + hash https://github.com/ternarylabs/porthole (el complemento jQuery de Ben Alman no se ha modificado en 3 años) – jpillora
Ben Alman tiene un increíble plugin jquery que puede ser utilizado para resolver este problema. http://benalman.com/projects/jquery-postmessage-plugin/ – Justin