icestark
icestark copied to clipboard
loadScriptMode:'script' 情况下子应用之间跳转空白
条件:
- 子应用的loadScriptMode为script
- 子应用之间跳转,
问题:由于microApps中缓存了所有的子应用数据,所以在做添加script节点时,没有执行loadAndAppendJsAssets方法,导入无法检测到子应用的生命周期函数报错,希望尽快帮忙处理一下,感谢
能否简单提供一个 demo 方便快速复现修复
可以参考下我这段代码,写在 FrameWorkLayout中 appEnter 这个useEffect ,可以解决我说的问题
Array.from(document.getElementsByTagName('script')).forEach(item => { if (((item.src.includes('.xxx.com')) && appEnter && appEnter.url) ){ if (item.src !== appEnter.url[0]){ const doc = document.querySelector('head') Array.from(doc.children).forEach(_item => { if (_item === item) { doc.removeChild(item) } }) } } else if (((item.src.includes('localhost')) && appEnter && appEnter.url) ){ if (item.src !== appEnter.url[0]){ const doc = document.querySelector('head') Array.from(doc.children).forEach(_item => { if (_item === item) { doc.removeChild(item) } }) } }})