useIsOnline
Apakah peramban merasa sedang tersambung.
Ini cuma tahu ada tidaknya sambungan jaringan, bukan ada tidaknya internet.
Perlu disebut supaya tidak dipercaya berlebihan: navigator.onLine cuma tahu ada tidaknya sambungan jaringan, bukan ada tidaknya internet. Wi-Fi yang tersambung ke router mati tetap dilaporkan true. Untuk keperluan yang sungguh-sungguh, satu permintaan kecil ke server sendiri lebih bisa dipercaya daripada nilai ini.
Bernilai true saat dirender di server: menganggap orang tersambung sampai terbukti sebaliknya lebih baik daripada mengedipkan pesan "Anda offline" pada setiap pemuatan halaman pertama.
Pemasangan
npx shadcn-vue@latest add @kliping/use-is-online Perlu @kliping terdaftar di components.json project Anda. Lihat cara menyiapkannya.
Ikut terpasang sendiri: is-browser, saat-terpasang, use-event-listener.
Salin dulu is-browser, saat-terpasang, target, use-event-listener — masing-masing memuat sumbernya di halamannya sendiri — lalu tempel berkas ini.
import { readonly, ref } from 'vue'
import { isBrowser } from '@/lib/is-browser'
import { saatTerpasang } from '@/lib/saat-terpasang'
import { useEventListener } from '@/composables/use-event-listener'
export function useIsOnline() {
const tersambung = ref(true)
const perbarui = () => {
if (isBrowser)
tersambung.value = navigator.onLine
}
saatTerpasang(perbarui)
useEventListener(['online', 'offline'], perbarui)
return readonly(tersambung)
}API
export function useIsOnline()