IdleDetector
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die IdleDetector-Schnittstelle der Idle Detection API stellt Methoden und Ereignisse bereit, um die Aktivität von Benutzern an einem Gerät oder Bildschirm zu erkennen.
Diese Schnittstelle erfordert einen sicheren Kontext.
Konstruktor
IdleDetector()-
Erstellt ein neues
IdleDetector-Objekt.
Instanzeigenschaften
IdleDetector.userStateSchreibgeschützt-
Gibt einen String zurück, der angibt, ob innerhalb des an
start()übergebenen Schwellenwerts eine Interaktion mit dem Bildschirm oder dem Gerät stattgefunden hat:"active"oder"idle". Vor dem Aufruf vonstart()gibt diese Eigenschaftnullzurück. IdleDetector.screenStateSchreibgeschützt-
Gibt einen String zurück, der angibt, ob der Bildschirm gesperrt ist:
"locked"oder"unlocked". Vor dem Aufruf vonstart()gibt diese Eigenschaftnullzurück.
Statische Methoden
IdleDetector.requestPermission()-
Gibt ein
Promisezurück, das erfüllt wird, sobald die Benutzerin oder der Benutzer entschieden hat, ob der Origin Zugriff auf den Inaktivitätsstatus erhalten soll. Bei Zustimmung wird es mit"granted", bei Ablehnung mit"denied"erfüllt.
Instanzmethoden
IdleDetector.start()-
Gibt ein
Promisezurück, das erfüllt wird, sobald der Detektor beginnt, Änderungen des Inaktivitätsstatus zu überwachen.userStateundscreenStateerhalten Anfangswerte. Die Methode akzeptiert ein optionalesoptions-Objekt mitthresholdfür den Schwellenwert in Millisekunden, ab dem Inaktivität gemeldet werden soll, undsignalfür einAbortSignal, mit dem sich der Detektor abbrechen lässt.
Ereignisse
change-
Wird ausgelöst, wenn sich der Wert von
userStateoderscreenStateändert.
Beispiele
Das folgende Beispiel zeigt, wie ein Detektor erstellt und Änderungen des Inaktivitätsstatus protokolliert werden. Eine Schaltfläche sorgt für die erforderliche Benutzeraktivierung, bevor die Berechtigung angefordert wird.
const controller = new AbortController();
const signal = controller.signal;
startButton.addEventListener("click", async () => {
if ((await IdleDetector.requestPermission()) !== "granted") {
console.error("Idle detection permission denied.");
return;
}
try {
const idleDetector = new IdleDetector();
idleDetector.addEventListener("change", () => {
const userState = idleDetector.userState;
const screenState = idleDetector.screenState;
console.log(`Idle change: ${userState}, ${screenState}.`);
});
await idleDetector.start({
threshold: 60_000,
signal,
});
console.log("IdleDetector is active.");
} catch (err) {
// Deal with initialization errors like permission denied,
// running outside of top-level frame, etc.
console.error(err.name, err.message);
}
});
stopButton.addEventListener("click", () => {
controller.abort();
console.log("IdleDetector is stopped.");
});
Spezifikationen
| Spezifikation |
|---|
| Idle Detection API> # api-idledetector> |