eventos - Evento de Javascript enviado en una ventana emergente que ha sido redirigida
mouseevent javascript (1)
Tengo una página A que abre una ventana emergente a B. La página B, después de algunos trabajos, siempre redirige a otra página C en la ventana emergente. La página C luego envía un evento para enviar algunos datos a la página A, pero la página A no tiene referencia a la página C para registrar el controlador de eventos. El código que probé es algo como esto:
Página A:
function handler(e) {
alert(e.detail.message);
}
var popup = window.open(''/PageB.aspx'');
popup.addEventListener("dispatch", handler, false);
Página B:
location.href = "PageC.aspx";
PáginaC:
var event = new CustomEvent(
"dispatch",
{
detail: {
message: "Test"
},
bubbles: true,
cancelable: true
}
);
window.dispatchEvent(event);
Pero esto no funciona, porque cuando redirijo, PageA pierde la referencia a PageC. ¿Alguien sabe una forma de arreglar esto? ¡Muchas gracias!
Si la página C está en el mismo dominio que la página A, prueba
window.opener.dispatchEvent(event);
De lo contrario, debe usar postMessage, lo que significa que debe serializar su evento en una cadena y escuchar los mensajes en la Página A.