gpt4 book ai didi

javascript - dispatchEvent 不能在边缘工作

转载 作者:行者123 更新时间:2023-12-04 00:52:51 25 4
gpt4 key购买 nike

在我的 Angular 应用程序中,我必须打开一个新窗口并将一个事件发送回 Controller 。该代码适用于 Chrome 和 Firefox,但它不适用于 Edge

下面是来自外部文件的代码

try {
var ev = new Event('abc');
ev['data'] = model;
window.opener.dispatchEvent(ev);
} catch (e) {
alert(e);
}

在外部窗口中,我收到警告 ERROR:invalid argument.

在 Angular 组件中我有监听器

@HostListener('window:abc', ['$event'])

无法从其他答案中获得太多信息。

请指导谢谢

最佳答案

问题不在于 disptachEvent。这是因为子窗口失去了打开它的父 Angular 组件的范围。为了解决这个问题,我从这个 thread 中找到了解决方案.

在打开子窗口之前我们必须设置angularComponentRef的引用

window['angularComponentRef'] = {component: this, zone: _ngZone};

关于javascript - dispatchEvent 不能在边缘工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51780072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com