IdleDetector
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Dedicated Web Workers.
Das IdleDetector
-Interface der Idle Detection API bietet Methoden und Ereignisse, um Benutzeraktivität auf einem Gerät oder Bildschirm zu erkennen.
Dieses Interface erfordert einen sicheren Kontext.
Konstruktor
IdleDetector()
Experimentell-
Erstellt ein neues
IdleDetector
-Objekt.
Instanzeigenschaften
IdleDetector.userState
Nur lesbar Experimentell-
Gibt einen String zurück, der angibt, ob der Benutzer mit dem Bildschirm oder dem Gerät innerhalb der an
start()
übergebenen Schwelle interagiert hat, entweder"active"
oder"idle"
. Dieses Attribut gibtnull
zurück, bevorstart()
aufgerufen wird. IdleDetector.screenState
Nur lesbar Experimentell-
Gibt einen String zurück, der angibt, ob der Bildschirm gesperrt ist, entweder
"locked"
oder"unlocked"
. Dieses Attribut gibtnull
zurück, bevorstart()
aufgerufen wird.
Ereignisse
change
Experimentell-
Wird aufgerufen, wenn sich der Wert von
userState
oderscreenState
geändert hat.
Statische Methoden
IdleDetector.requestPermission()
Experimentell-
Gibt ein
Promise
zurück, das aufgelöst wird, wenn der Benutzer gewählt hat, ob er dem Ursprung Zugriff auf seinen Leerlaufzustand gewähren möchte. Wird mit"granted"
bei Annahme und"denied"
bei Ablehnung aufgelöst.
Instanzmethoden
IdleDetector.start()
Experimentell-
Gibt ein
Promise
zurück, das aufgelöst wird, wenn der Detektor beginnt, Änderungen im Leerlaufzustand des Benutzers zu überwachen.userState
undscreenState
erhalten Anfangswerte. Diese Methode nimmt ein optionalesoptions
-Objekt mit derthreshold
in Millisekunden, in der Inaktivität gemeldet werden soll, undsignal
für einenAbortSignal
, um den Leerlaufdetektor abzubrechen.
Beispiele
Das folgende Beispiel zeigt die Erstellung eines Detektors und das Protokollieren von Änderungen am Leerlaufzustand des Benutzers. Ein Button wird verwendet, um die notwendige Benutzeraktivierung vor dem Anfordern der Berechtigung zu erhalten.
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
Specification |
---|
Idle Detection API # api-idledetector |
Browser-Kompatibilität
BCD tables only load in the browser