常用判断函数

常用判断函数

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

image.png

留下你的脚步
推荐阅读