我有一个父窗口,打开了另一个窗口。在子窗口中,我正在尝试向打开者发送事件。我的代码如下:
export function taskClose(opener: string) {
if (!window.opener || window.opener === window || window.opener.closed) {
redirectToPath(opener);
return;
}
var updateEvent;
if (typeof(Event) === 'function') {
updateEvent = new Event('inboxNeedUpdate');
}else {
updateEvent = document.createEvent('CustomEvent');
updateEvent.initCustomEvent('inboxNeedUpdate', false, false, undefined);
}
window.opener.dispatchEvent(updateEvent);
window.close();}
我想知道如何正确地向打开的窗口分派事件。这段代码在Chrome和FF中可以正常工作。
dispatchEvent()
无法使用window.opener
不可用。我认为我的唯一选择就是重构代码,以便不再引用window.opener
。 - cneuro