qiankun icon indicating copy to clipboard operation
qiankun copied to clipboard

[Bug]切换应用时window.proxy指向不对

Open Aeero opened this issue 3 years ago • 7 comments

What happens?

主应用下有两个子应用A和B,切换子应用AB,chrome调试台里window.proxy指向不对,并不是指向当前active的应用

最小可复现仓库

官方repo即可

复现步骤,错误日志以及相关配置

step1

// react16子应用 增加代码
window.microFlag = 'react16';

// react15子应用 增加代码
window.microFlag = 'react15';

step2

刷新进入子应用react16,控制台输出window.microFlag (react16) 切换到子应用react15,控制台输出window.microFlag (react15) 再次切换到react16,控制台输出window.microFlag (react15)

相关环境信息

  • qiankun 版本 2.5.1
  • 浏览器版本: chrome 91
  • 操作系统: macOS

Aeero avatar Nov 03 '21 09:11 Aeero

在哪里打印的?mount 函数里面吗?

gongshun avatar Nov 05 '21 02:11 gongshun

在哪里打印的?mount 函数里面吗?

f12的控制台。目的是调试&排查问题,运行时是没有问题的。

Aeero avatar Nov 05 '21 03:11 Aeero

在哪里打印的?mount 函数里面吗?

f12的控制台。目的是调试&排查问题,运行时是没有问题的。

子应用的全局变量,是存在于沙箱上,真实的 window 上并不存在。你在控制台打印,应该是 undefined

gongshun avatar Nov 05 '21 03:11 gongshun

在哪里打印的?mount 函数里面吗?

f12的控制台。目的是调试&排查问题,运行时是没有问题的。

子应用的全局变量,是存在于沙箱上,真实的 window 上并不存在。你在控制台打印,应该是 undefined

我指的是window.proxy,主应用可以通过这个变量获取子应用的沙箱。

Aeero avatar Nov 09 '21 07:11 Aeero

可能是我理解有误,官网似乎没有明确说明window.proxy是用来获取子应用沙箱的方法。(比如说多实例的时候,没法表示)

Aeero avatar Nov 09 '21 07:11 Aeero

image 为啥我打印永远都仿佛没有开启沙箱。。。

wanghanemails avatar Mar 25 '24 07:03 wanghanemails

老哥这个问题有解决嘛

zlyyyy avatar Jun 11 '24 14:06 zlyyyy