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

View in English Always switch to English

Benutzeraktivierung

Damit Anwendungen APIs, die bei unerwünschter Verwendung das Nutzungserlebnis beeinträchtigen können, nicht missbrauchen, lassen sich manche APIs nur verwenden, wenn eine Benutzeraktivierung vorliegt. Das bedeutet, dass eine Person gerade mit der Webseite interagiert oder seit dem Laden der Seite mindestens einmal mit ihr interagiert hat. Browser beschränken den Zugriff auf sensible APIs, etwa für Pop-ups, den Vollbildmodus oder Vibrationen, auf solche Benutzerinteraktionen. So verhindern sie, dass schädliche Skripte diese Funktionen missbrauchen. Diese Seite listet Funktionen der Webplattform auf, die erst nach einer Benutzeraktivierung verfügbar sind.

Eine Benutzeraktivierung bedeutet entweder, dass eine Person gerade mit der Seite interagiert oder seit dem Laden der Seite eine Interaktion abgeschlossen hat. Typischerweise ist das ein Klick auf eine Schaltfläche oder eine andere Interaktion mit der Benutzeroberfläche.

Genauer gesagt ist ein aktivierungsauslösendes Eingabeereignis ein Ereignis, das:

  • dessen Attribut isTrusted auf true gesetzt ist und
  • einem der folgenden Typen entspricht:
    • keydown (ausgenommen die Taste Esc, vom Browser reservierte Tastenkombinationen und bestimmte Tasten, die keine Benutzeraktivierung auslösen und je nach Tastatur variieren, etwa Caps Lock, Num Lock und Print Screen. Das Verhalten kann je nach Browser unterschiedlich sein.)

    • mousedown

    • pointerdown (wenn pointerType „mouse“ ist)

    • pointerup (wenn pointerType nicht „mouse“ ist)

    • touchend

Wenn eine Aktivierung ausgelöst wurde, unterscheidet der User Agent zwischen zwei Zuständen der Benutzeraktivierung für ein Fenster: dauerhafte und vorübergehende Aktivierung.

Vergleich zwischen vorübergehender und dauerhafter Aktivierung

Der Unterschied besteht darin, dass eine vorübergehende Aktivierung nur kurze Zeit anhält und in manchen Fällen durch die Nutzung einer geschützten Funktion aufgebraucht (deaktiviert) werden kann. Eine dauerhafte Aktivierung bleibt dagegen bis zum Ende der Sitzung bestehen.

Wenn Funktionen eine vorübergehende Aktivierung voraussetzen, sind sie nur verfügbar, wenn sie unmittelbar durch eine Benutzerinteraktion ausgelöst werden. Eine dauerhafte Aktivierung dient hingegen vor allem dazu, Funktionen einzuschränken, die nicht automatisch beim Laden der Seite ausgelöst werden sollten, etwa Pop-ups.

Vorübergehende Aktivierung

Eine vorübergehende Aktivierung ist ein Fensterzustand, der anzeigt, dass eine Person kürzlich eine Schaltfläche gedrückt oder eine andere Benutzerinteraktion ausgeführt hat. Sie läuft nach einer bestimmten Zeit ab, sofern sie nicht durch eine weitere Interaktion erneuert wird, und kann auch von manchen APIs (wie Window.open()) aufgebraucht werden.

APIs, die eine vorübergehende Aktivierung erfordern (Liste nicht vollständig):

Dauerhafte Aktivierung

Eine dauerhafte Aktivierung ist ein Fensterzustand, der anzeigt, dass eine Person irgendwann während der Sitzung eine Schaltfläche gedrückt, ein Menü verwendet oder eine andere Benutzerinteraktion ausgeführt hat. Anders als eine vorübergehende Aktivierung wird sie nach ihrer erstmaligen Auslösung nicht zurückgesetzt.

APIs und Funktionen, die eine dauerhafte Aktivierung erfordern (Liste nicht vollständig):

UserActivation API

Um programmatisch festzustellen, ob für ein Fenster eine dauerhafte oder vorübergehende Benutzeraktivierung vorliegt, stellt die UserActivation API zwei Eigenschaften bereit, die über navigator.userActivation zugänglich sind:

Siehe auch