Permissions API
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.
* Some parts of this feature may have varying levels of support.
Note: This feature is available in Web Workers.
Permissions API cung cấp một cách lập trình nhất quán để truy vấn trạng thái của các quyền API được gán cho ngữ cảnh hiện tại, chẳng hạn như trang web hoặc worker. Ví dụ, nó có thể được sử dụng để xác định xem quyền truy cập vào một tính năng hoặc API cụ thể đã được cấp, từ chối, hay yêu cầu quyền người dùng cụ thể.
Khái niệm và cách sử dụng
Trong lịch sử, các API khác nhau xử lý quyền của riêng chúng một cách không nhất quán. Permissions API cung cấp các công cụ cho phép nhà phát triển triển khai trải nghiệm người dùng nhất quán khi làm việc với quyền.
Các quyền từ API này hiệu quả tổng hợp tất cả các hạn chế bảo mật cho ngữ cảnh, bao gồm bất kỳ yêu cầu nào để API được sử dụng trong ngữ cảnh bảo mật, các hạn chế Permissions-Policy được áp dụng cho tài liệu, yêu cầu tương tác người dùng và các lời nhắc người dùng.
Ví dụ, nếu một API bị hạn chế bởi chính sách quyền, quyền được trả về sẽ là denied và người dùng sẽ không được nhắc để cấp quyền truy cập.
Thuộc tính permissions đã được cung cấp trên đối tượng Navigator, cả trong ngữ cảnh duyệt web tiêu chuẩn và ngữ cảnh worker (WorkerNavigator), và trả về một đối tượng Permissions cung cấp quyền truy cập vào chức năng Permissions API.
Yêu cầu quyền
Nếu trạng thái quyền là prompt, người dùng phải xác nhận lời nhắc để cấp quyền truy cập vào tính năng.
Cơ chế kích hoạt lời nhắc này sẽ phụ thuộc vào API cụ thể, nó không được xác định là một phần của Permissions API.
Thu hồi quyền
Việc thu hồi quyền không được quản lý bởi API. Người dùng có thể xóa quyền cho các trang web cụ thể theo cách thủ công bằng cách sử dụng cài đặt trình duyệt.
Các API nhận biết quyền
Không phải tất cả trạng thái quyền của API đều có thể truy vấn bằng Permissions API. Danh sách không đầy đủ các API nhận biết quyền bao gồm:
- Background Synchronization API:
background-sync - Clipboard API:
clipboard-read,clipboard-write - Compute Pressure API:
compute-pressure - Geolocation API:
geolocation - Local Font Access API:
local-fonts - Media Capture and Streams API:
microphone,camera - Notifications API:
notifications - Web-based Payment Handler API:
payment-handler - Push API:
push - Screen Capture API:
captured-surface-control,display-capture - Screen Wake Lock API:
screen-wake-lock - Sensor APIs:
accelerometer,gyroscope,magnetometer,ambient-light-sensor - Storage Access API:
storage-access,top-level-storage-access - Storage API:
persistent-storage - Web Bluetooth API:
bluetooth - Web MIDI API:
midi - Window Management API:
window-management
Giao diện
Permissions-
Cung cấp chức năng Permission API cốt lõi, chẳng hạn như các phương thức để truy vấn và thu hồi quyền.
PermissionStatus-
Cung cấp quyền truy cập vào trạng thái hiện tại của quyền và trình xử lý sự kiện để phản hồi các thay đổi về trạng thái quyền.
Mở rộng các giao diện khác
-
Cung cấp quyền truy cập vào đối tượng
Permissionstừ ngữ cảnh chính và ngữ cảnh worker tương ứng.
Ví dụ
Chúng ta đã tạo một ví dụ có tên Location Finder. Bạn có thể chạy ví dụ trực tiếp, xem mã nguồn trên GitHub, hoặc đọc thêm về cách hoạt động của nó trong bài viết Using the Permissions API.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Permissions> |