Pao*_*one 5 javascript asp.net popup javascript-events custom-event
我有一个页面A打开一个弹出窗口B.页面B,在一些工作后,总是重定向到弹出窗口中的另一个页面C. 然后,页面C调度一个事件以将一些数据发送到页面A,但是页面A没有引用页面C来注册事件处理程序.我试过的代码有点像这样:
网页A:
function handler(e) {
alert(e.detail.message);
}
var popup = window.open('/PageB.aspx');
popup.addEventListener("dispatch", handler, false);
Run Code Online (Sandbox Code Playgroud)
网页B:
location.href = "PageC.aspx";
Run Code Online (Sandbox Code Playgroud)
PageC:
var event = new CustomEvent(
"dispatch",
{
detail: {
message: "Test"
},
bubbles: true,
cancelable: true
}
);
window.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为当我重定向时,PageA错过了对PageC的引用.有谁知道解决这个问题的方法?非常感谢你!
如果页面 C 与页面 A 位于同一域中,请尝试
window.opener.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
如果没有,您需要使用 postMessage 来代替,这意味着您必须将事件序列化为字符串并侦听页面 A 上的消息。
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |