Closed chenxing1991 closed 3 years ago
What happens? 子应用挂载前执行如下逻辑: const head = document.getElementsByTagName('head')[0] let linkTag = document.getElementById(linkId) linkTag && linkTag.parentNode.removeChild(linkTag) linkTag = document.createElement('link') linkTag.href = path linkTag.rel = 'stylesheet' linkTag.type = 'text/css' linkTag.setAttribute('id', linkId) linkTag.onload = () => resolve() linkTag.onerror = err => reject(err) head.appendChild(linkTag) 打印出来head是主应用的head,实际效果是linkTag插入了shadow-root下面,虽然符合预期,但是想知道是什么原理?
最小可复现仓库 无
复现步骤,错误日志以及相关配置 无
相关环境信息 浏览器版本: chrome最新 操作系统: win10 Node 版本: 10+
与 https://github.com/umijs/qiankun/issues/1271 重复
What happens? 子应用挂载前执行如下逻辑: const head = document.getElementsByTagName('head')[0] let linkTag = document.getElementById(linkId) linkTag && linkTag.parentNode.removeChild(linkTag) linkTag = document.createElement('link') linkTag.href = path linkTag.rel = 'stylesheet' linkTag.type = 'text/css' linkTag.setAttribute('id', linkId) linkTag.onload = () => resolve() linkTag.onerror = err => reject(err) head.appendChild(linkTag) 打印出来head是主应用的head,实际效果是linkTag插入了shadow-root下面,虽然符合预期,但是想知道是什么原理?
最小可复现仓库 无
复现步骤,错误日志以及相关配置 无
相关环境信息 浏览器版本: chrome最新 操作系统: win10 Node 版本: 10+