kliping.pro
  • Docs
  • Explore
  • Builder
  • Directory
  • Colors
  • Typeset
Saved
Hooks
  • Getting Started2
  • State7
  • Advanced6
  • Lifecycle16
  • Browser21
  • useActiveElement
  • useBattery
  • useClickAnyWhere
  • useClickAway
  • useClipboard
  • useDocumentVisibility
  • useElementSize
  • useEventListener
  • useFps
  • useFullscreen
  • useHash
  • useHover
  • useInViewport
  • useIsMatchMedia
  • useIsOnline
  • useMouse
  • useNetwork
  • useOs
  • useScrollLock
  • useTextSelection
  • useTitle
  • Development1
  • Third-Party4
  • Libraries4
  1. Hooks
  2. Browser
  3. useDocumentVisibility

useDocumentVisibility

PreviousNext

Apakah tab-nya sedang dilihat.

Dipakai untuk berhenti bekerja saat tidak ada yang melihat: hentikan polling, jeda animasi, tunda muat ulang. Berpasangan rapi dengan useInterval, yang berhenti kalau jedanya null:

ts
const terlihat = useDocumentVisibility()
useInterval(muatUlang, () => (terlihat.value === 'visible' ? 5000 : null))

Nilainya visible saat dirender di server — bukan tebakan, melainkan satu- satunya jawaban yang membuat HTML server dan gambaran pertama di peramban cocok untuk tab yang memang sedang dibuka.

Installation ​

pnpm dlx kliping@latest add use-document-visibility

Ikut terpasang sendiri: is-browser, try-on-mounted, use-event-listener.

Salin dulu is-browser, try-on-mounted, target, use-event-listener — masing-masing memuat sumbernya di halamannya sendiri — lalu tempel berkas ini.

ts
import { readonly, ref } from 'vue'
import { isBrowser } from '@/lib/is-browser'
import { tryOnMounted } from '@/lib/try-on-mounted'
import { useEventListener } from '@/composables/use-event-listener'

export function useDocumentVisibility() {
  const visibility = ref<DocumentVisibilityState>('visible')

  const update = () => {
    if (isBrowser) visibility.value = document.visibilityState
  }

  tryOnMounted(update)
  useEventListener('visibilitychange', update, {
    target: isBrowser ? document : undefined,
    passive: true,
  })

  return readonly(visibility)
}

Requirements ​

RequirementValue
ProjectVue 3.5+, alias @ — disiapkan kliping init
Kliping itemsis-browser, try-on-mounted, use-event-listener
Filescomposables/use-document-visibility.ts

API Reference ​

ts
export function useDocumentVisibility()

Parameters ​

Tanpa parameter.

Returns ​

Readonly<Ref<DocumentVisibilityState, DocumentVisibilityState>> — Reactive, read-only document.visibilityState: visible or hidden.

Credits ​

Berasal dari shadcn-hooks (MIT, Copyright (c) 2025 Brendan Dash). Rantai lengkapnya di Credits.

PrevioususeClipboardNext useElementSize

On This Page

InstallationRequirementsAPI ReferenceParametersReturnsCredits

© 2026 Kliping. Free components are open source under the MIT License.

LicenseCreditsRoadmap