diff --git a/app/src/assets/scss/component/_menu.scss b/app/src/assets/scss/component/_menu.scss
index 1b1383e24..097c50a23 100644
--- a/app/src/assets/scss/component/_menu.scss
+++ b/app/src/assets/scss/component/_menu.scss
@@ -246,14 +246,6 @@
margin-right: 8px;
color: var(--b3-theme-on-surface);
- // 分屏下拉的页签列表
- & > svg,
- & > img {
- float: left;
- height: 14px;
- width: 14px;
- }
-
&--arrow {
margin: 0 0 0 8px;
height: 10px;
diff --git a/app/src/layout/Wnd.ts b/app/src/layout/Wnd.ts
index 0c3fc019a..cc004ff06 100644
--- a/app/src/layout/Wnd.ts
+++ b/app/src/layout/Wnd.ts
@@ -35,6 +35,7 @@ import {hideAllElements} from "../protyle/ui/hideElements";
import {focusByOffset, getSelectionOffset} from "../protyle/util/selection";
import {Custom} from "./dock/Custom";
import {App} from "../index";
+import {unicode2Emoji} from "../emoji";
export class Wnd {
private app: App;
@@ -579,10 +580,23 @@ export class Wnd {
Array.from(this.headersElement.children).forEach((item: HTMLElement) => {
const iconElement = item.querySelector(".item__icon");
const graphicElement = item.querySelector(".item__graphic");
+ let iconHTML = undefined
+ if (iconElement) {
+ if (iconElement.firstElementChild?.tagName === "IMG") {
+ // 图标为图片的文档
+ iconHTML = ``
+ } else {
+ // 有图标的文档
+ iconHTML = ``
+ }
+ } else if (!graphicElement) {
+ // 没有图标的文档
+ iconHTML = unicode2Emoji(Constants.SIYUAN_IMAGE_FILE, "b3-menu__icon", true)
+ }
window.siyuan.menus.menu.append(new MenuItem({
label: escapeHtml(item.querySelector(".item__text").textContent),
action: "iconCloseRound",
- iconHTML: iconElement ? `` : "",
+ iconHTML,
icon: graphicElement ? graphicElement.firstElementChild.getAttribute("xlink:href").substring(1) : "",
bind: (element) => {
element.addEventListener("click", (itemEvent) => {
diff --git a/app/src/layout/topBar.ts b/app/src/layout/topBar.ts
index 92efbc3c8..c9916c094 100644
--- a/app/src/layout/topBar.ts
+++ b/app/src/layout/topBar.ts
@@ -15,7 +15,7 @@ import {webFrame} from "electron";
/// #endif
import {Constants} from "../constants";
import {isBrowser, isWindow} from "../util/functions";
-import {Menu} from "../plugin/Meun";
+import {Menu} from "../plugin/Menu";
import {fetchPost} from "../util/fetch";
import {escapeAttr} from "../util/escape";
import {needSubscribe} from "../util/needSubscribe";
diff --git a/app/src/plugin/API.ts b/app/src/plugin/API.ts
index 18e3f8503..5141dd022 100644
--- a/app/src/plugin/API.ts
+++ b/app/src/plugin/API.ts
@@ -13,7 +13,7 @@ import {App} from "../index";
import {Constants} from "../constants";
import {Model} from "../layout/Model";
import {Setting} from "./Setting";
-import {Menu} from "./Meun";
+import {Menu} from "./Menu";
let openTab;
/// #if MOBILE
diff --git a/app/src/plugin/Meun.ts b/app/src/plugin/Menu.ts
similarity index 100%
rename from app/src/plugin/Meun.ts
rename to app/src/plugin/Menu.ts
diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts
index 2ba51714e..4660d971d 100644
--- a/app/src/protyle/render/av/action.ts
+++ b/app/src/protyle/render/av/action.ts
@@ -1,4 +1,4 @@
-import {Menu} from "../../../plugin/Meun";
+import {Menu} from "../../../plugin/Menu";
import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName} from "../../util/hasClosest";
import {transaction} from "../../wysiwyg/transaction";
import {openEditorTab} from "../../../menus/util";
diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts
index 4ad30bd6f..f23e6ddf3 100644
--- a/app/src/protyle/render/av/cell.ts
+++ b/app/src/protyle/render/av/cell.ts
@@ -1,6 +1,6 @@
import {transaction} from "../../wysiwyg/transaction";
import {hasClosestBlock} from "../../util/hasClosest";
-import {Menu} from "../../../plugin/Meun";
+import {Menu} from "../../../plugin/Menu";
import {getColIconByType} from "./col";
export const popTextCell = (protyle: IProtyle, cellElement: HTMLElement) => {