wujie icon indicating copy to clipboard operation
wujie copied to clipboard

window事件 和 document.write失效

Open yiludege opened this issue 3 years ago • 4 comments

描述bug window上的事件比如onload 和 document.write添加 script 标签无法生效

yiludege avatar Aug 11 '22 04:08 yiludege

我看了下,现在是把子应用的window.onxxx直接指向主应用的window.onxxx

这样多个子应用同时用到window.onxxx的话会有问题,没有隔离

为什么不直接挂在iframeWindow上呢?

此外可能需要在mount和unmount的时候手动处理一些事件了

jk4235 avatar Aug 12 '22 05:08 jk4235

@jk4235

不管挂哪里都是有问题的,比如:挂在 iframeWindow.onload上,iframe 是一开始就准备好的,子应用的 js 是 iframe ready 后注入的也就是说 js 里面的 window.onload 事件永远都不会触发,这个地方估计要框架维护一个针对 load 事件、domContentLoaded事件之类的事件列表,进行手动触发。

当然框架也提供了 plugin:windowAddEventListenerHook、windowPropertyOverride,用户可以自行 diy 这个地方

yiludege avatar Aug 12 '22 05:08 yiludege

这个地方估计要框架维护一个针对 load 事件、domContentLoaded事件之类的事件列表,进行手动触发。

对,我的意思就是直接挂在iframeWindow上,然后手动在对应的生命周期里invoke,避免多个子应用互相干扰

jk4235 avatar Aug 12 '22 05:08 jk4235

明白,这个地方如果有兴趣可以 pr,我估计没这么快

yiludege avatar Aug 12 '22 06:08 yiludege