高德或者百度地图的外链script触发了高德地图的回调函数。回调函数里的有document.body.removeChild的逻辑,要删除高德的外链script。但在wujie插件中配不配置置jsIgnores,高德地图的回调函数removeChild都无奈删除
呈现以上问题
咱们能够应用一下办法解决:
const { bus,setupApp,preloadApp,destroyApp ] = WujieVue;preloadApp({ name: 'vite', url: hostMap("vite"), exec: true, plugins:[ { jsIgnores: [/baidu/], // [/amap\.com/] // _element为真正插入的元素, _iframeWindow为子利用的window,rawElement为原始插入元素 appendOrInsertElementHook(_element: any, _iframeWindow: any, rawElement: any) { // 以下函数也能够用此行代替 _iframeWindow.document.body.removeChild=() => null if (rawElement) { Object.defineProperty(rawElement,'parentNode', { get: () => ({ removeChild: () => null }) }) } } } ]})
同理也能够触类旁通遇到相似的问题,都能够通过此操作来避免报错
如果下面的内容复制进页面后无奈起作用,可能是我拼写错误导致的,请仔细检查。