eventos event javascript asp.net javascript-events popup custom-event

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.