当前位置: 首页 > Web前端 > vue.js

无界微前端作为高德或百度地图的子应用引入removeChild解决报错的问题

时间:2023-03-31 17:52:04 vue.js

高德或百度地图的外链脚本触发高德地图的回调函数。回调函数中包含了document.body.removeChild的逻辑,需要删除高德的外链脚本。但是如果在wujie插件中配置了jsIgnores,高德地图的回调函数removeChild是无法删除的。我们可以使用下面的方法来解决上面的问题:const{bus,setupApp,preloadApp,destroyApp]=WujieVue;preloadApp({name:'vite',url:hostMap("vite"),exec:true,plugins:[{jsIgnores:[/baidu/],//[/amap\.com/]//_element是实际的插入元素,_iframeWindow为子应用窗口,rawElement为原插入元素removeChild=()=>nullif(rawElement){Object.defineProperty(rawElement,'parentNode',{get:()=>({removeChild:()=>null})})}}}]})同样,你可以举一反三,遇到类似的问题。此操作可用于防止错误报告。如果以上内容复制到页面后不起作用,可能是我的拼写错误造成的。请仔细检查。