mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-06 08:48:49 +01:00
This commit is contained in:
parent
a7a239ca35
commit
436135492b
1 changed files with 14 additions and 7 deletions
|
|
@ -88,15 +88,22 @@ export const loadAssets = (data: Config.IAppearance) => {
|
|||
|
||||
// load icons
|
||||
const isBuiltInIcon = ["ant", "material"].includes(data.icon);
|
||||
const iconScriptElement = document.getElementById("iconScript");
|
||||
const iconDefaultScriptElement = document.getElementById("iconDefaultScript");
|
||||
// 不能使用 data.iconVer,因为其他主题也需要加载默认图标,此时 data.iconVer 为其他图标的版本号
|
||||
const iconDefaultURL = `/appearance/icons/${isBuiltInIcon ? data.icon : "material"}/icon.js?v=${Constants.SIYUAN_VERSION}`;
|
||||
const iconThirdURL = `/appearance/icons/${data.icon}/icon.js?v=${data.iconVer}`;
|
||||
|
||||
if ((isBuiltInIcon && iconDefaultScriptElement && iconDefaultScriptElement.getAttribute("src").startsWith(iconDefaultURL)) ||
|
||||
(!isBuiltInIcon && iconScriptElement && iconScriptElement.getAttribute("src").startsWith(iconThirdURL))) {
|
||||
return;
|
||||
}
|
||||
Array.from(document.body.children).forEach(item => {
|
||||
if (item.tagName === "svg" && !item.getAttribute("data-name") && item.id !== "iconsMaterial") {
|
||||
item.remove();
|
||||
}
|
||||
});
|
||||
const iconDefaultScriptElement = document.getElementById("iconDefaultScript");
|
||||
// 不能使用 data.iconVer,因为其他主题也需要加载默认图标,此时 data.iconVer 为其他图标的版本号
|
||||
const iconURL = `/appearance/icons/${isBuiltInIcon ? data.icon : "material"}/icon.js?v=${Constants.SIYUAN_VERSION}`;
|
||||
if (iconDefaultScriptElement && !iconDefaultScriptElement.getAttribute("src").startsWith(iconURL)) {
|
||||
if (iconDefaultScriptElement && !iconDefaultScriptElement.getAttribute("src").startsWith(iconDefaultURL)) {
|
||||
iconDefaultScriptElement.remove();
|
||||
if (data.icon === "ant") {
|
||||
document.querySelectorAll("#iconsMaterial").forEach(item => {
|
||||
|
|
@ -104,10 +111,10 @@ export const loadAssets = (data: Config.IAppearance) => {
|
|||
});
|
||||
}
|
||||
}
|
||||
addScript(iconURL, "iconDefaultScript").then(() => {
|
||||
addScript(iconDefaultURL, "iconDefaultScript").then(() => {
|
||||
if (!isBuiltInIcon) {
|
||||
document.getElementById("iconScript")?.remove();
|
||||
addScript(`/appearance/icons/${data.icon}/icon.js?v=${data.iconVer}`, "iconScript");
|
||||
iconScriptElement?.remove();
|
||||
addScript(iconThirdURL, "iconScript");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue