pemantau fokus · memulai

Detektor fokus tab — apa yang dicatat halaman saat Anda pergi

Memeriksa…

Membaca apa yang dilaporkan dokumen ini tentang visibilitas dan fokusnya sendiri.

Pindah tab, klik jendela lain, atau kecilkan jendela ini — lalu kembali.

Halaman ini menjalankan, di peramban Anda sendiri, pemeriksaan fokus dan visibilitas yang sama seperti yang dijalankan halaman tes online atau pengawasan. Pindah tab, klik jendela lain, atau kecilkan jendela ini, lalu lihat persis apa yang tercatat. Tidak ada yang diunggah — setiap angka di bawah tetap berada di tab ini.

Catatan peristiwa

Pindah tab, klik jendela lain, atau kecilkan jendela ini — lalu kembali.

Sinyal

#WaktuPeristiwaStatus tercatatLama pergi
Belum ada apa-apa. Pindahlah ke tab lain atau klik jendela lain, lalu kembali.

Yang dibaca tes ini

Setiap peramban membuka dua pembacaan yang saling bebas. document.visibilityState menyatakan apakah tab ini yang sedang ditampilkan, dan document.hasFocus() menyatakan apakah dokumen inilah yang menerima ketikan. Keduanya tidak memerlukan izin, dan keduanya tidak bisa dimatikan.

Keduanya bukan hal yang sama. Berpindah ke tab lain membuat halaman menjadi tersembunyi. Mengeklik jendela peramban kedua, aplikasi pesan, atau terminal membuat tab ini tetap terlihat tetapi kehilangan fokus — halaman menjadi tanpa fokus, bukan tersembunyi.

Platform asesmen biasanya mencatat keduanya, menghitungnya terpisah, dan mengukur berapa lama tiap kepergian berlangsung. Tabel di bawah menampilkan persis catatan yang akan mereka bangun.

Apa yang memicunya

  • Pindah ke tab lain — memicu visibilitychange, status menjadi hidden. Tercatat di mana saja, termasuk di ponsel.
  • Mengecilkan jendela, mengunci layar, atau ponsel masuk mode tidur — juga dihitung sebagai tersembunyi.
  • Mengeklik jendela atau aplikasi lain — jendela peramban kedua, editor, aplikasi pesan, panel pencarian, atau peluncur. Tab tetap terlihat; yang terpicu adalah peristiwa blur pada jendela.
  • Membuka alat pengembang di jendela terpisah — dihitung sebagai pergantian jendela, jadi memicu blur.
  • Peramban membekukan atau membuang tab demi menghemat memori — memicu freeze dan pagehide di Chromium.
  • Menutup atau memuat ulang halaman — memicu pagehide, peristiwa yang dipakai platform untuk menutup percobaan yang belum selesai.

Sebelum asesmen online

Kalau sebuah tes memperingatkan bahwa meninggalkan halaman akan dicatat, ada baiknya tahu dulu apa arti sebenarnya sebelum Anda mengerjakannya.

  1. Buka halaman ini di peramban yang benar-benar akan Anda pakai untuk asesmen, dan biarkan terbuka.
  2. Pindah ke tab lain lalu segera kembali. Perhatikan catatan mencantumkan peristiwa hidden beserta jumlah detik yang persis.
  3. Sekarang klik jendela lain sebagai gantinya — aplikasi pesan atau editor. Catatan menampilkan peristiwa blur, dan tab tidak pernah tersembunyi.
  4. Nyalakan layar penghalang untuk melihat apa yang ditampilkan halaman asesmen begitu Anda pergi. Banyak platform menampilkan persis seperti itu.
  5. Waspadai yang tak disengaja: spanduk notifikasi, jendela pengelola kata sandi, atau peluncur pintasan papan ketik juga ikut tercatat.

Mengetahui apa yang dicatat tidak sama dengan mengakalinya. Halaman ini memberi tahu Anda seperti apa pembacaannya; bagaimana platform menafsirkannya adalah urusan mereka.

Bagaimana kesimpulan diambil

Berfokus — visibilityState bernilai visible dan hasFocus() bernilai true. Tab ini ada di layar dan menerima ketikan Anda.

Tanpa fokus — masih terlihat, tetapi fokus berpindah ke jendela atau aplikasi lain. Anda memandang tab ini sambil mengetik di tempat lain, atau ada jendela lain menutupinya.

Tersembunyi — tab sama sekali tidak digambar: ada tab lain di depan, jendela dikecilkan, atau layar perangkat mati.

Penghitung kepergian dimulai pada peristiwa pertama yang merebut fokus dan berhenti ketika kedua pembacaan kembali benar, sehingga blur yang berlanjut menjadi perpindahan tab dihitung sebagai satu kepergian yang menyambung.

Yang tidak bisa dilihat

Tidak satu pun pembacaan ini memberi tahu ke mana Anda pergi. Halaman hanya tahu bahwa tab ini berhenti menjadi yang aktif dan berapa lama — bukan tab mana, aplikasi mana, atau apa yang ada di layar.

Apa pun yang terjadi di luar peramban tanpa memindahkan fokus papan ketik tidak terlihat oleh API ini, sebab tidak ada peristiwa yang bisa terpicu. Itu termasuk perangkat kedua, kertas cetakan, atau orang lain di ruangan yang sama.

Angkanya sendiri tidak membuktikan apa-apa. Notifikasi yang merebut fokus, panel pembaca layar, permintaan pembaruan sistem, dan perpindahan tab yang disengaja menghasilkan peristiwa yang sama persis.

Pengawasan yang serius tidak bersandar pada ini saja. Kamera, mikrofon, berbagi layar, dan peramban terkunci yang dipasang melihat jauh lebih banyak daripada sebuah halaman web — lihat tes deteksi monitor eksternal untuk pembacaan lain yang bisa diambil halaman tanpa bertanya.

Privasi

Halaman ini statis. Tanpa analitik, tanpa kuki, tanpa penyimpanan lokal, dan tidak melakukan permintaan jaringan apa pun setelah dimuat.

Setiap penghitung dan setiap cap waktu di halaman ini dihitung di dalam tab Anda dan hilang begitu Anda menutupnya. Memuat ulang mengembalikan semuanya ke nol.

Anda bisa membacanya seluruhnya: hanya satu berkas JavaScript, tertaut di bagian bawah halaman.

Dukungan peramban

visibilitychange dan document.hasFocus() berjalan di semua peramban masa kini, di komputer maupun ponsel, tanpa izin dan tanpa syarat asal yang aman.

freeze dan resume hanya ada di Chromium, dan terpicu ketika peramban menangguhkan tab latar demi menghemat memori. Peramban lain sama sekali tidak melaporkannya.

Di iOS, berpindah aplikasi tercatat sebagai tersembunyi, bukan kehilangan fokus, karena seluruh peramban masuk ke latar belakang. Pembedaan keduanya hanya ada di lingkungan yang mengenal jendela.

Pertanyaan yang sering diajukan

Bisakah situs web mendeteksi saat saya berpindah tab?

Bisa, dan tanpa izin sama sekali. Peristiwa visibilitychange terpicu pada saat tab Anda berhenti menjadi tab yang ditampilkan, dan document.visibilityState melaporkan hidden sampai Anda kembali. Semua peramban masa kini menerapkannya, termasuk yang di ponsel. Tidak ada pengaturan yang menyembunyikan hal ini dari sebuah halaman.

Bisakah asesmen online membedakan pindah tab dengan membuka aplikasi lain?

Bisa. Pindah tab membuat halaman tersembunyi; mengeklik jendela atau aplikasi lain membuat halaman tetap terlihat tetapi menghilangkan fokus papan ketik, sehingga yang terpicu adalah peristiwa blur. Platform yang mencatat keduanya dapat membedakannya, dan halaman ini menampilkan keduanya terpisah supaya Anda melihat sendiri bedanya.

Apakah tes online tahu ke tab atau aplikasi mana saya pergi?

Tidak. Peramban hanya memberi tahu halaman bahwa ia bukan lagi dokumen yang aktif, dan berapa lama itu berlangsung. Tujuannya — tab lain, program lain, layar terkunci — tidak pernah diungkapkan. Apa pun yang lebih rinci menuntut berbagi layar atau peramban terkunci yang dipasang, dan keduanya terlihat serta harus Anda setujui.

Apakah mengambil tangkapan layar dihitung meninggalkan halaman?

Sepenuhnya bergantung pada caranya. Pintasan yang ditangani sistem operasi tanpa antarmuka sendiri tidak memicu apa pun, sebab peramban tidak pernah kehilangan fokus. Sebaliknya, apa pun yang membuka pemilih area, panel, atau jendela pratinjau akan merebut fokus, dan itu tercatat sebagai blur. Cobalah keduanya di halaman ini lalu lihat catatannya.

Kenapa penghitung saya naik padahal saya tidak pindah tab?

Fokus direbut oleh lebih banyak hal daripada yang orang kira: spanduk notifikasi, jendela sembul pengelola kata sandi, permintaan pembaruan sistem, peluncur pintasan papan ketik, atau alat pengembang yang dibuka di jendelanya sendiri. Semuanya memicu blur yang tak bisa dibedakan dari perpindahan yang disengaja.

Bisakah deteksi ini dimatikan di pengaturan peramban?

Tidak. Page Visibility API adalah bagian dari dokumen itu sendiri, bukan sebuah izin, jadi tidak ada yang bisa dicabut. Memblokirnya akan merusak penggunaan yang sah seperti menjeda video, menghentikan animasi, dan menghentikan pewaktu di tab latar.

Apakah monitor kedua mencegah perpindahan tab tercatat?

Tidak. Memindahkan pandangan ke layar kedua tidak mengubah apa pun, tetapi mengeklik jendela di layar itu menghilangkan fokus papan ketik dari tab ini dan memicu blur persis seperti pada satu layar. Apakah layar kedua itu sendiri terlihat oleh halaman adalah persoalan lain, yang dibahas tes deteksi monitor eksternal.

Apakah ada yang dikirim ke server?

Tidak. Halaman ini statis, tanpa analitik dan tanpa kuki, dan tidak melakukan permintaan jaringan setelah dimuat. Setiap peristiwa dan pewaktu yang ditampilkan dihitung di dalam tab Anda dan dibuang saat Anda menutupnya.