Refactor navigator utility functions and add isPWA check

This commit is contained in:
jxxghp
2024-10-19 10:39:31 +08:00
parent b3f616ddc6
commit 76a487854b
16 changed files with 38 additions and 82 deletions

View File

@@ -2,8 +2,7 @@
export async function getClipboardContent() {
if (navigator.clipboard && window.isSecureContext) {
return await navigator.clipboard.readText()
}
else {
} else {
const input = document.createElement('textarea')
document.body.appendChild(input)
input.select()
@@ -18,8 +17,7 @@ export async function getClipboardContent() {
export async function copyToClipboard(content: string) {
if (navigator.clipboard && window.isSecureContext) {
await navigator.clipboard.writeText(content)
}
else {
} else {
const input = document.createElement('textarea')
input.value = content
document.body.appendChild(input)
@@ -42,3 +40,12 @@ export function urlBase64ToUint8Array(base64String: string) {
}
return outputArray
}
// 判断是否为PWA
export const isPWA = async (): Promise<boolean> => {
if ('serviceWorker' in navigator) {
const registrations = await navigator.serviceWorker.getRegistrations()
return registrations.length > 0
}
return (window.navigator as any).standalone === true
}