Skip to content

navigator 对象

剪切板

查看是否能够有读取剪贴板的权限

js
async function queryClipboardPermission() {
  const result = await navigator.permissions.query({
    name: 'clipboard-read',
  })

  if (result.state === 'granted') {
    // 授权
  }
  else if (result.state === 'prompt') {
    // 询问
  }
  else if (result.state === 'denied') {
    // 未授权
  }

  console.log('result: ', result)
}

获取剪贴板内容

js
async function getClipboardText() {
  const clipboardText = await navigator.clipboard.readText()

  return clipboardText
}

客户端识别

ts
export const inBrowser = typeof window !== 'undefined'

export function isMobile(): boolean {
  return inBrowser
    ? /ios|iphone|ipod|ipad|android/.test(navigator.userAgent.toLowerCase())
    : false
}

export function isIOS(): boolean {
  return inBrowser
    ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase())
    : false
}

export function isAndroid(): boolean {
  return inBrowser ? /android/.test(navigator.userAgent.toLowerCase()) : false
}

export function isWechat() {
  return /MicroMessenger/i.test(window.navigator.userAgent)
}