wujie
wujie copied to clipboard
子应用不能监听自定义合成事件
描述bug 子应用引入的sdk内部派发了自定义合成事件,在window上监听不到; 但是子应用脱离无界环境独立运行时,合成事件能被监听到。 目前有什么办法可以解决这个问题吗?
如何复现
const customEvent = new CustomEvent('testEvent', {
bubbles: true,
composed: true,
detail: {
name: 'this is message'
}
})
window.dispatchEvent(customEvent);
// 在无界子应用内监听不到,但是独立运行时可以监听到
window.addEventListener('testEvent', function(event) {
console.log(event)
})
试试使用真实的window
: __WUJIE_RAW_WINDOW__
;全局变量
wujie是不是可以通过开放配置项或者给windowAddEventListenerHook插件传入appWindowAddEventListenerEvents,让用户可以根据自身业务情况灵活的把合成事件的监听挂载到iframe沙箱上?
子应用的window监听事件是不是可以做成配置项呢?@yiludege 现在子应用window上可以监听的事件只有appWindowAddEventListenerEvents数组里的这些事件,不在内的事件都监听不到,合成事件也是一样的情况
这个地方确实有问题,window上还有document的属性以及事件监听都可能需要开放给用户可以自定义