Tastatur: lock()-Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die lock()-Methode der
Keyboard-Schnittstelle gibt ein Promise zurück, das nach dem Aktivieren der Erfassung von Tastendrücken für einen oder alle Tasten auf der physischen Tastatur erfüllt wird. Diese Methode kann nur Tasten erfassen, die vom zugrunde liegenden Betriebssystem freigegeben sind.
Wenn lock() mehrfach aufgerufen wird, werden nur die in dem zuletzt aufgerufenen Befehl angegebenen Tastencodes gesperrt.
Alle Tasten, die durch einen früheren lock()-Aufruf gesperrt wurden, werden entsperrt.
Syntax
lock()
lock(keyCodes)
Parameter
keyCodesOptional-
Ein
Arrayvon einem oder mehreren zu sperrenden Tastencodes. Wenn keine Tastencodes angegeben werden, werden alle Tasten gesperrt. Eine Liste gültiger Code-Werte ist in der Spezifikation UI Events KeyboardEvent code Values zu finden.
Rückgabewert
Ein Promise, das mit undefined erfüllt wird, wenn die Sperre erfolgreich war.
Ausnahmen
AbortErrorDOMException-
Wird ausgelöst, wenn ein neuer Aufruf von
lock()erfolgt, bevor der aktuelle abgeschlossen ist. InvalidAccessErrorDOMException-
Wird ausgelöst, wenn ein Schlüssel in
keyCodeskein gültiger key code attribute value ist. InvalidStateErrorDOMException-
Wird ausgelöst, wenn
lock()nicht in einem aktiven Top-Level-Browsing-Kontext aufgerufen wird.
Sicherheit
Vorübergehende Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit dieses Feature funktioniert.
Beispiele
>Erfassen aller Tasten
Das folgende Beispiel erfasst alle Tastendrücke.
navigator.keyboard.lock();
Erfassen bestimmter Tasten
Das folgende Beispiel erfasst die Tasten W, A, S und D. Es erfasst diese Tasten unabhängig davon, welche Modifikatoren mit dem Tastendruck verwendet werden. Unter der Annahme eines standardmäßigen US-QWERTY-Layouts stellt die Registrierung von "KeyW" sicher, dass W, Shift+W, Control+W,
Control+Shift+W und alle anderen Tastenkombinationen mit W an die Anwendung gesendet werden.
Dasselbe gilt für "KeyA", "KeyS" und
"KeyD".
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);
Spezifikationen
| Spezifikation |
|---|
| Keyboard Lock> # h-keyboard-lock> |