我有打开另一个窗口的父窗口。在子窗口中,我试图将事件发送到开启者。我的代码如下所示:
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();}
我想知道如何正确地将事件分派(dispatch)到开启窗口。
此代码在 Chrome 和 FF 中正确工作。
最佳答案
需要引用原始窗口,否则它会拒绝事件
window.opener.document.createEvent('CustomEvent');
关于javascript - IE 11 Window.opener.dispatchEvent 抛出 SCRIPT87 : Invalid Argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46889936/