From 1dcdab24a7d63e7b3ebb35dbd63264ae38475522 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Thu, 13 Feb 2025 15:24:41 +0800 Subject: [PATCH] :bug: Fix local file open issue https://github.com/siyuan-note/siyuan/issues/14052 --- app/src/protyle/util/compatibility.ts | 4 ++++ app/src/util/pathName.ts | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/util/compatibility.ts b/app/src/protyle/util/compatibility.ts index ecacc1bfc..096da9598 100644 --- a/app/src/protyle/util/compatibility.ts +++ b/app/src/protyle/util/compatibility.ts @@ -151,6 +151,10 @@ export const isWin11 = async () => { return false; }; +export const isWindows = () => { + return navigator.platform.toUpperCase().indexOf("WIN") > -1; +} + export const isInAndroid = () => { return window.siyuan.config.system.container === "android" && window.JSAndroid; }; diff --git a/app/src/util/pathName.ts b/app/src/util/pathName.ts index 95eabaaa8..5db602b74 100644 --- a/app/src/util/pathName.ts +++ b/app/src/util/pathName.ts @@ -10,7 +10,7 @@ import {Constants} from "../constants"; import {ipcRenderer} from "electron"; /// #endif import {showMessage} from "../dialog/message"; -import {isOnlyMeta, setStorageVal, updateHotkeyTip} from "../protyle/util/compatibility"; +import {isOnlyMeta, isWindows, setStorageVal, updateHotkeyTip} from "../protyle/util/compatibility"; import {matchHotKey} from "../protyle/util/hotKey"; import {Menu} from "../plugin/Menu"; import {hasClosestByClassName} from "../protyle/util/hasClosest"; @@ -101,8 +101,11 @@ export const isLocalPath = (link: string) => { return true; } - const colonIdx = link.indexOf(":"); - return 1 === colonIdx; // 冒号前面只有一个字符认为是 Windows 盘符而不是网络协议 + if (isWindows()) { + const colonIdx = link.indexOf(":"); + return 1 === colonIdx; // 冒号前面只有一个字符认为是 Windows 盘符而不是网络协议 + } + return link.startsWith("/") }; export const pathPosix = () => {