Keyboard: phương thức lock()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Phương thức lock() của giao diện Keyboard trả về một Promise phân giải sau khi bật tính năng chụp các lần nhấn phím cho bất kỳ hoặc tất cả các phím trên bàn phím vật lý. Phương thức này chỉ có thể chụp các phím được cấp quyền truy cập bởi hệ điều hành bên dưới.

Nếu lock() được gọi nhiều lần thì chỉ có các key code được chỉ định trong cuộc gọi gần nhất sẽ bị khóa. Bất kỳ phím nào bị khóa bởi cuộc gọi trước đó đến lock() đều được mở khóa.

Cú pháp

js
lock()
lock(keyCodes)

Tham số

keyCodes Optional

Một Array gồm một hoặc nhiều key code để khóa. Nếu không có keycodes nào được cung cấp, tất cả các phím sẽ bị khóa. Danh sách các giá trị code hợp lệ có trong thông số kỹ thuật UI Events KeyboardEvent code Values.

Giá trị trả về

Một Promise phân giải với undefined khi khóa thành công.

Ngoại lệ

AbortError DOMException

Được ném ra nếu một cuộc gọi mới đến lock() được thực hiện trước khi cuộc gọi hiện tại hoàn thành.

InvalidAccessError DOMException

Được ném ra nếu bất kỳ phím nào trong keyCodes không phải là giá trị thuộc tính key code hợp lệ.

InvalidStateError DOMException

Được ném ra nếu lock() không được gọi trong một ngữ cảnh duyệt cấp đầu đang hoạt động.

Bảo mật

Kích hoạt người dùng tạm thời là cần thiết. Người dùng phải tương tác với trang hoặc phần tử UI để tính năng này hoạt động.

Ví dụ

Chụp tất cả các phím

Ví dụ sau chụp tất cả các lần nhấn phím.

js
navigator.keyboard.lock();

Chụp các phím cụ thể

Ví dụ sau chụp các phím W, A, SD. Nó chụp các phím này bất kể modifier nào được sử dụng với lần nhấn phím. Giả sử bố cục QWERTY Mỹ tiêu chuẩn, đăng ký "KeyW" đảm bảo rằng W, Shift+W, Control+W, Control+Shift+W và tất cả các tổ hợp modifier phím khác với W được gửi đến ứng dụng. Tương tự áp dụng cho "KeyA", "KeyS""KeyD".

js
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);

Thông số kỹ thuật

Thông số kỹ thuật
Keyboard Lock
# h-keyboard-lock

Tương thích trình duyệt