¿Cómo puedo evitar la seguridad entre dominios de window.opener?

Acabo de descubrir quewindow.opener no está disponible en una ventana abierta víawindow.open Si la nueva URL es de dominio cruzado, en IE.¿Cómo detecto el abridor de ventanas en IE?

Esto sucederá si la ventana se inicia en mi dominio, la deja y luego vuelve a mi dominio. Estoy intentando tener un registro social (facebook, google, etc) en la ventana emergente. Cuando se complete, debe cerrar la nueva ventana y redirigir el abridor.

Sé que Soundcloud está logrando esto, pero no tengo idea de cómo. Veo que la URL cambia de la de ellos a Facebook y luego la cierro.

Después de redirigir a mi sitio desde un tercero, ejecuto esto:

var data = {
  type : 'complete',
  destination : '<?= $destination; ?>'
};
if ( window.opener ) {
  window.opener.postMessage( JSON.stringify( data ), '*' );
  window.close();
}
else {
  alert( "Unable to find window" );
}

Se alerta en IE, aunque la ventana fue originalmente mi dominio, que luego se redirigió a FB y luego se redirigió a mí. Pensé que sí, ya que abro mi sitio y redirijo inmediatamente desde PHP, eso puede ser un problema. Sin embargo, incluso cuando abrí mi sitio, hicewindow.location.href = 'facebookssite.com' Todavía se quejaba al volver.

NOTA

Los registros sociales no funcionan para Google, FB, etc. dentro de uniframe. Creo que los rechazan por razones de seguridad.

Respuestas a la pregunta(5)

Su respuesta a la pregunta