IE 11 Window.opener.dispatchEvent抛出SCRIPT87:无效参数

时间:2017-10-23 12:56:51

标签: javascript events internet-explorer-11

我有父窗口打开另一个窗口。在子窗口中,我试图将事件发送给开启者。我的代码看起来像这样:

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中正常运行。

1 个答案:

答案 0 :(得分:1)

需要引用原始窗口,否则拒绝事件

window.opener.document.createEvent('CustomEvent');