From bb53be242a91cf540179cd963a597ee3d25098b8 Mon Sep 17 00:00:00 2001 From: myml Date: Thu, 21 Oct 2021 13:17:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9C=A8=E5=8D=95?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=BA=94=E7=94=A8=E4=B8=AD=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=99=A8=E6=97=A0=E6=B3=95=E5=88=87=E6=8D=A2=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 编辑器缓存i18n脚本时未考虑多语言切换 通过给缓存key加上语言的后缀解决 --- src/index.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 10f801c64..5bd522547 100644 --- a/src/index.ts +++ b/src/index.ts @@ -73,7 +73,14 @@ class Vditor extends VditorMethod { "options.lang error, see https://ld246.com/article/1549638745630#options", ); } else { - addScript(`${mergedOptions.cdn}/dist/js/i18n/${mergedOptions.lang}.js`, "vditorI18nScript").then(() => { + const i18nScriptPrefix = "vditorI18nScript" + const i18nScriptID = i18nScriptPrefix + "_" + mergedOptions.lang + document.querySelectorAll(`head script[id^="${i18nScriptPrefix}"]`).forEach(el=>{ + if(el.id !== i18nScriptID){ + document.head.removeChild(el) + } + }) + addScript(`${mergedOptions.cdn}/dist/js/i18n/${mergedOptions.lang}.js`, i18nScriptID).then(() => { this.init(id as HTMLElement, mergedOptions); }); } @@ -82,7 +89,7 @@ class Vditor extends VditorMethod { this.init(id, mergedOptions); } } - + /** 设置主题 */ public setTheme( theme: "dark" | "classic",