瀏覽代碼

:art: fix https://github.com/siyuan-note/siyuan/issues/6060

Vanessa 2 年之前
父節點
當前提交
e795fdc20a
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      app/src/protyle/util/compatibility.ts

+ 9 - 0
app/src/protyle/util/compatibility.ts

@@ -1,3 +1,5 @@
+import {focusByRange} from "./selection";
+
 export const openByMobile = (uri: string) => {
     if (!uri) {
         return;
@@ -12,6 +14,10 @@ export const openByMobile = (uri: string) => {
 };
 
 export const writeText = async (text: string) => {
+    let range: Range
+    if (getSelection().rangeCount > 0) {
+        range = getSelection().getRangeAt(0).cloneRange();
+    }
     try {
         // navigator.clipboard.writeText 抛出异常不进入 catch,这里需要先处理移动端复制
         if ("android" === window.siyuan.config.system.container && window.JSAndroid) {
@@ -38,6 +44,9 @@ export const writeText = async (text: string) => {
             textElement.select();
             document.execCommand("copy");
             document.body.removeChild(textElement);
+            if (range) {
+                focusByRange(range);
+            }
         }
     }
 };