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 vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
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.userStateSchreibgeschützt 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 gibtnullzurück, bevorstart()aufgerufen wird. IdleDetector.screenStateSchreibgeschützt Experimentell-
Gibt einen String zurück, der angibt, ob der Bildschirm gesperrt ist, entweder
"locked"oder"unlocked". Dieses Attribut gibtnullzurück, bevorstart()aufgerufen wird.
Ereignisse
changeExperimentell-
Wird aufgerufen, wenn sich der Wert von
userStateoderscreenStategeändert hat.
Statische Methoden
IdleDetector.requestPermission()Experimentell-
Gibt ein
Promisezurü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
Promisezurück, das aufgelöst wird, wenn der Detektor beginnt, Änderungen im Leerlaufzustand des Benutzers zu überwachen.userStateundscreenStateerhalten Anfangswerte. Diese Methode nimmt ein optionalesoptions-Objekt mit derthresholdin Millisekunden, in der Inaktivität gemeldet werden soll, undsignalfü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
Loading…