diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts index b1c57243f..308c38494 100644 --- a/app/src/menus/protyle.ts +++ b/app/src/menus/protyle.ts @@ -290,7 +290,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => { export const contentMenu = (protyle: IProtyle, nodeElement: Element) => { const range = getEditorRange(nodeElement); window.siyuan.menus.menu.remove(); - if (range.toString() !== "" || (range.cloneContents().childNodes[0] as HTMLElement)?.classList.contains("emoji")) { + if (range.toString() !== "" || (range.cloneContents().childNodes[0] as HTMLElement)?.classList?.contains("emoji")) { window.siyuan.menus.menu.append(new MenuItem({ icon: "iconCopy", accelerator: "⌘C", diff --git a/app/src/protyle/util/compatibility.ts b/app/src/protyle/util/compatibility.ts index 584289946..bbbd0259d 100644 --- a/app/src/protyle/util/compatibility.ts +++ b/app/src/protyle/util/compatibility.ts @@ -15,14 +15,14 @@ export const openByMobile = (uri: string) => { } }; -export const readText = async () => { +export const readText = () => { if ("android" === window.siyuan.config.system.container && window.JSAndroid) { return window.JSAndroid.readClipboard(); } return navigator.clipboard.readText(); }; -export const writeText = async (text: string) => { +export const writeText = (text: string) => { let range: Range; if (getSelection().rangeCount > 0) { range = getSelection().getRangeAt(0).cloneRange(); @@ -37,7 +37,6 @@ export const writeText = async (text: string) => { window.webkit.messageHandlers.setClipboard.postMessage(text); return; } - navigator.clipboard.writeText(text); } catch (e) { if (window.siyuan.config.system.container === "ios" && window.webkit?.messageHandlers) { diff --git a/app/src/protyle/util/paste.ts b/app/src/protyle/util/paste.ts index b72b6a742..3b98c6397 100644 --- a/app/src/protyle/util/paste.ts +++ b/app/src/protyle/util/paste.ts @@ -32,8 +32,8 @@ const filterClipboardHint = (protyle: IProtyle, textPlain: string) => { }; export const pasteAsPlainText = async (protyle: IProtyle) => { - /// #if !BROWSER let localFiles: string[] = []; + /// #if !BROWSER if ("darwin" === window.siyuan.config.system.os) { const xmlString = clipboard.read("NSFilenamesPboardType"); const domParser = new DOMParser(); @@ -50,10 +50,15 @@ export const pasteAsPlainText = async (protyle: IProtyle) => { if (localFiles.length > 0) { uploadLocalFiles(localFiles, protyle, false); writeText(""); - } else { - getCurrentWindow().webContents.pasteAndMatchStyle(); } /// #endif + if (localFiles.length === 0) { + getCurrentWindow().webContents.pasteAndMatchStyle(); + // 下个版本再进行修改 https://github.com/siyuan-note/siyuan/issues/8010 + // navigator.clipboard.readText().then(async textPlain => { + // insertHTML(protyle.lute.BlockDOM2Content(protyle.lute.Md2BlockDOM(textPlain)), protyle); + // }); + } }; export const pasteText = (protyle: IProtyle, textPlain: string, nodeElement: Element) => { diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index e9f1ced0d..2fa7abffd 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -1646,7 +1646,6 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { } /// #endif - /// #if !BROWSER if (matchHotKey("⇧⌘V", event)) { event.returnValue = false; event.preventDefault(); @@ -1655,6 +1654,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { return; } + /// #if !BROWSER if (matchHotKey(window.siyuan.config.keymap.editor.general.showInFolder.custom, event)) { const aElement = hasClosestByAttribute(range.startContainer, "data-type", "a"); if (aElement) {