Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

EventTarget IdleDetector

Konstruktor

IdleDetector()

Erstellt ein neues IdleDetector-Objekt.

Instanzeigenschaften

IdleDetector.userState Schreibgeschü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 von start() gibt diese Eigenschaft null zurück.

IdleDetector.screenState Schreibgeschützt

Gibt einen String zurück, der angibt, ob der Bildschirm gesperrt ist: "locked" oder "unlocked". Vor dem Aufruf von start() gibt diese Eigenschaft null zurück.

Statische Methoden

IdleDetector.requestPermission()

Gibt ein Promise zurü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 Promise zurück, das erfüllt wird, sobald der Detektor beginnt, Änderungen des Inaktivitätsstatus zu überwachen. userState und screenState erhalten Anfangswerte. Die Methode akzeptiert ein optionales options-Objekt mit threshold für den Schwellenwert in Millisekunden, ab dem Inaktivität gemeldet werden soll, und signal für ein AbortSignal, mit dem sich der Detektor abbrechen lässt.

Ereignisse

change

Wird ausgelöst, wenn sich der Wert von userState oder screenState ä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.

js
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

Browser-Kompatibilität