fix(嵌入式): 嵌入式富文本报错

This commit is contained in:
dataeaseShu
2025-11-21 17:30:01 +08:00
committed by dataeaseShu
parent 24ae93c6ba
commit 2b9279f00a

View File

@@ -1,7 +1,5 @@
const suffix = `${import.meta.env.VITE_VERSION}-dataease`
const dom = document.querySelector('head')
const formatterUrl = <T extends Node>(node: T, prefix: string) => {
if (['SCRIPT', 'LINK'].includes(node.nodeName)) {
let url = ''
@@ -13,7 +11,7 @@ const formatterUrl = <T extends Node>(node: T, prefix: string) => {
if (url.includes(suffix) || url.includes('dataease-private')) {
const currentUrlprefix = new URL(url).origin
const newUrl = url.replace(currentUrlprefix, prefix)
const newUrl = url.startsWith(prefix) ? url : url.replace(currentUrlprefix, prefix)
if (node instanceof HTMLLinkElement) {
node.href = newUrl
} else if (node instanceof HTMLScriptElement) {
@@ -48,14 +46,19 @@ const getPrefix = (): string => {
}
const element = document.createElement('head')
document.body.appendChild(element)
document.querySelector('head').appendChild = <T extends Node>(node: T) => {
const dom = document.querySelector('head')
dom.appendChild = <T extends Node>(node: T) => {
const newNode = formatterUrl(node, getPrefix())
element.appendChild(newNode)
return newNode
}
document.querySelector('head').removeChild = <T extends Node>(node: T) => {
element.removeChild(node)
const rmc = dom.removeChild
dom.removeChild = <T extends Node>(node: T) => {
if (element.contains(node)) {
element.removeChild(node)
} else {
rmc.bind(dom, node)
}
return node
}
import { App, createApp } from 'vue'