Betulkan kaedah navigator/tetingkap/dokumen yang tidak ditentukan dalam Nuxt
P粉143640496
P粉143640496 2024-03-25 19:00:40
0
1
387

Saya cuba menentukan maklumat UserAgent dan Retina di dalam aplikasi Nuxt. Tetapi aplikasi melemparkan ralat dan mengatakan navigasi/tetingkap tidak ditentukan. Bagaimanakah saya boleh mendapatkan maklumat ini dalam aplikasi nuxt?

const userAgent = navigator.userAgent.toLowerCase()
const isAndroid = userAgent.includes('android')
isRetina() {
  let mediaQuery
  if (typeof window !== 'undefined' && window !== null) {
    mediaQuery =
      '(-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5/4), (min-resolution: 1.25dppx)'
    if (window.devicePixelRatio > 1.25) {
      return true
    }
    if (window.matchMedia && window.matchMedia(mediaQuery).matches) {
      return true
    }
  }
  return false
}

P粉143640496
P粉143640496

membalas semua(1)
P粉242126786

Ini adalah penyelesaian untuk membaiki:

  • navigator 未定义
  • window 未定义
  • 文档未定义

Ini adalah contoh cara membungkus kod JS logik

sssccc

Nampak seperti ini: https://nuxtjs.org/docs/2. x/glosari-dalaman/konteks

PS: mounted + process.client 有点多余,因为 mounted Hanya berjalan pada klien.


Selain itu, ia juga merupakan idea yang baik untuk membalut komponen dalam <client-only> jika anda mahu komponen itu dipaparkan hanya pada bahagian pelanggan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!