Anki/ts/lib/tslib/platform.ts
2025-10-18 09:45:24 +08:00

37 lines
1.1 KiB
TypeScript

// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
export function isApplePlatform(): boolean {
// avoid deprecation warning
const platform = window.navigator["platform" + ""];
return (
platform.startsWith("Mac")
|| platform.startsWith("iP")
);
}
export function isWindows(): boolean {
const platform = window.navigator["platform" + ""];
return platform.startsWith("Win");
}
export function isDesktop(): boolean {
return !(/iphone|ipad|ipod|android/i.test(window.navigator.userAgent));
}
export function chromiumVersion(): number | null {
const userAgent = window.navigator.userAgent;
// Check if it's a Chromium-based browser (Chrome, Edge, Opera, etc.)
// but exclude Safari which also contains "Chrome" in its user agent
if (userAgent.includes("Safari") && !userAgent.includes("Chrome")) {
return null; // Safari
}
const chromeMatch = userAgent.match(/Chrome\/(\d+)/);
if (chromeMatch) {
return parseInt(chromeMatch[1], 10);
}
return null; // Not a Chromium-based browser
}