Ventana emergente de dominio cruzado con valor de retorno

Esta es la configuración:

Tengo dos sitios web en dos dominios diferentes:

  • www.website1.com
  • www.someotherwebsite.com

Esto es lo que quiero hacer:

  1. Cuando un usuario está en www.website1.com y hace clic en un enlace, quiero que aparezca una ventana que muestre www.someotherwebsite.com .

  2. Cuando el usuario hace clic en un botón en la ventana emergente (que muestra www.someotherwebsite.com ) quiero que esa ventana se cierre y se le devuelva un valor.

  3. Quiero que se coloque el valor devuelto en la ventana emergente (en un div, o en una llamada de JavaScript, o en algún lugar accesible, como llenar un campo de formulario) en www.website1.com .

Espero que tenga sentido. Necesito usar solo HTML y Javascript sin bibliotecas externas. También debe funcionar en los principales navegadores actuales (es decir, no ser una cosa HTML5).

Gracias de antemano por su ayuda.

Bueno, si usa un iframe en su ventana emergente [en este día en edad, evitaría ventanas emergentes como la peste debido a bloqueadores de pop-ups]

Con un iframe puedes hacer llamadas de dominio cruzado

¿Por qué no acaba de desarrollar un servicio web de A a B y lo llama desde A? Parece mucho más limpio que encontrar pequeñas grietas en los navegadores para evitar la seguridad.

Puede publicar el valor en la ventana emergente de http://www.someotherwebsite.com de regreso a una página especial en http://www.website1.com. Ahora que has vuelto al dominio original, esa página toma el valor GET y lo escribe en algún JavaScript. Luego, el JavaScript actualiza el valor en alguna parte de la ventana del abridor usando abrelatas.document.getElementById, o llama a una función en el abridor con algo como abrelatas.document.doSomething (val); que maneja la respuesta.

Está plagado de posibles errores (¿y si el usuario abre dos copias de la ventana? ¿O cierra el sitio original?) Y potenciales agujeros de seguridad, y los navegadores tienen una tendencia a reactjsr mal si intentas hacer cosas a ventanas que no existen. o están en dominios diferentes, pero en un entorno conocido debería funcionar.