Wilson@思源

目 录

常用判断函数

js
function isTouchDevice() { return ("ontouchstart" in window) && navigator.maxTouchPoints > 1; } function isMobile() { return !!document.getElementById("sidebar"); } function isElectron() { return navigator.userAgent.includes('Electron'); } function isBrowser() { return !navigator.userAgent.startsWith("SiYuan") || navigator.userAgent.indexOf("iPad") > -1 || (/Android/.test(navigator.userAgent) && !/(?:Mobile)/.test(navigator.userAgent)); } function isMac() { return navigator.platform.indexOf("Mac") > -1; } function isLinux() { return navigator.platform.indexOf("Linux") > -1; } function isWindows() { return document.body.classList.contains("body--win32"); } function isAndroid() { return /Android/.test(navigator.userAgent); } function isIOS() { return (/iOS/i.test(navigator.userAgent) || /iPad/i.test(navigator.userAgent)) && /AppleWebKit/i.test(navigator.userAgent) && navigator.userAgent.startsWith("SiYuan/"); } function isReadOnly() { return window.siyuan.config.readonly; } function isNewWindow() { return !document.querySelector("#toolbar"); } function isNewWindow() { return document.getElementById("toolbar") ? false : true; } async function isWin11() { if (!navigator.userAgentData || !navigator.userAgentData.getHighEntropyValues) { return false; } const ua = await navigator.userAgentData.getHighEntropyValues(["platformVersion"]); if (navigator.userAgentData.platform === "Windows") { if (parseInt(ua.platformVersion.split(".")[0]) >= 13) { return true; } } return false; }
官方判断函数:
https://github.com/siyuan-note/siyuan/blob/master/app/src/protyle/util/compatibility.ts