From 2b9279f00af01a637227ea4d11e35d499113a037 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Fri, 21 Nov 2025 17:30:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B5=8C=E5=85=A5=E5=BC=8F):=20=E5=B5=8C?= =?UTF-8?q?=E5=85=A5=E5=BC=8F=E5=AF=8C=E6=96=87=E6=9C=AC=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/pages/panel/main.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/core/core-frontend/src/pages/panel/main.ts b/core/core-frontend/src/pages/panel/main.ts index d6b195f782..d8f20fa488 100644 --- a/core/core-frontend/src/pages/panel/main.ts +++ b/core/core-frontend/src/pages/panel/main.ts @@ -1,7 +1,5 @@ const suffix = `${import.meta.env.VITE_VERSION}-dataease` -const dom = document.querySelector('head') - const formatterUrl = (node: T, prefix: string) => { if (['SCRIPT', 'LINK'].includes(node.nodeName)) { let url = '' @@ -13,7 +11,7 @@ const formatterUrl = (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 = (node: T) => { +const dom = document.querySelector('head') +dom.appendChild = (node: T) => { const newNode = formatterUrl(node, getPrefix()) element.appendChild(newNode) return newNode } - -document.querySelector('head').removeChild = (node: T) => { - element.removeChild(node) +const rmc = dom.removeChild +dom.removeChild = (node: T) => { + if (element.contains(node)) { + element.removeChild(node) + } else { + rmc.bind(dom, node) + } return node } import { App, createApp } from 'vue'