需求
- 在子应用中编写页面
- 页面刷新/关闭时触发事件保存数据
问题
- 开发环境使用
window.onbeforeunload监听是可行的 - 但是发布到测试环境发现事件失效了
分析
- QIANKUN嵌入的子应用中,
window对象是一个Proxy对象,并且一些全局对象都禁止访问
- 但是它也暴露出来一个
addEventListener方法供子应用调用 - 所以要用到
winodw的监听方法都需要需要使用addEventListener方法添加
为什么第一选择是onbeforeunload而不愿意使用addEventListener
- 重复监听问题,因为
addEventListener触发多次的话会添加多次监听,虽然有removeEventListener可以解决这个问题,毕竟多了一行代码不是