Keyboard: lock() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 sich nach dem Aktivieren des Erfassens von Tastendrücken für eine beliebige oder alle Tasten auf der physischen Tastatur auflöst. Diese Methode kann nur Tasten erfassen, auf die das zugrunde liegende Betriebssystem Zugriff gewährt.
Wenn lock()
mehrfach aufgerufen wird, werden nur die Tastencodes, die im letzten Aufruf angegeben wurden, gesperrt. Alle Tasten, die durch einen vorherigen Aufruf von lock()
gesperrt wurden, werden entsperrt.
Syntax
lock()
lock(keyCodes)
Parameter
keyCodes
Optional-
Ein
Array
von einem oder mehreren zu sperrenden Tastencodes. Wenn keine Tastencodes angegeben sind, werden alle Tasten gesperrt. Eine Liste gültiger Code-Werte finden Sie in der UI Events KeyboardEvent code Values Spezifikation.
Rückgabewert
Ausnahmen
AbortError
DOMException
-
Wird ausgelöst, wenn ein neuer Aufruf von
lock()
gemacht wird, bevor der aktuelle abgeschlossen ist. InvalidAccessError
DOMException
-
Wird ausgelöst, wenn eine beliebige Taste in
keyCodes
keinen gültigen key code attribute value aufweist. InvalidStateError
DOMException
-
Wird ausgelöst, wenn
lock()
nicht in einem aktiven obersten Browsing-Kontext aufgerufen wird.
Sicherheit
Eine transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.
Beispiele
Erfassen aller Tasten
Das folgende Beispiel erfasst alle Tastendrücke.
navigator.keyboard.lock();
Erfassen spezifischer Tasten
Das folgende Beispiel erfasst die "W", "A", "S" und "D" Tasten. Es erfasst diese Tasten unabhängig davon, welche Modifikatoren mit dem Tastendruck verwendet werden. Bei einer Standard-QWERTY-Tastaturbelegung wird durch das Registrieren von "KeyW"
sichergestellt, dass "W", Shift+"W", Control+"W", Control+Shift+"W" und alle anderen Tastenkombinationen mit "W" an die App gesendet werden. Dasselbe gilt für "KeyA"
, "KeyS"
und "KeyD"
.
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);
Spezifikationen
Specification |
---|
Keyboard Lock # h-keyboard-lock |
Browser-Kompatibilität
BCD tables only load in the browser