Với Chrome 116, chúng tôi sẽ thêm lựa chọn Cho phép lần này vào lời nhắc cấp quyền khi phát hành dần. Mục tiêu của chúng tôi là giúp mọi người dễ dàng sử dụng các tính năng mạnh mẽ của web theo ý muốn. Ban đầu, lựa chọn Cho phép lần này sẽ có trên máy tính cho một số quyền phổ biến nhất: quyền truy cập thông tin vị trí, camera và micrô. Lời nhắc cấp quyền cho các tính năng khác và trên web dành cho thiết bị di động hiện chưa thay đổi, nhưng có thể thay đổi trong tương lai.
Nếu bạn là chủ sở hữu trang web, hãy xem phần Tác động và đề xuất, đồng thời dùng thử bản minh hoạ.
Giao diện người dùng mới cho quyền
Giao diện người dùng cho quyền trước Chrome 116
Người dùng sẽ thấy 3 lựa chọn:
- Cho phép: Cho phép liên tục.
- Chặn: Chặn liên tục.
- Nhấp vào nút x: Chặn tạm thời. Trang web có thể nhắc người dùng một lần nữa sau đó, tối đa 3 lần.
Bạn có thể quản lý quyền thông qua Các nút điều khiển trang web trên thanh địa chỉ hoặc thông qua Chế độ cài đặt trang web.
Giao diện người dùng mới cho quyền từ Chrome 116
Người dùng sẽ thấy 4 lựa chọn:
- Cho phép lần này: Cho phép tạm thời.
- Cho phép mỗi lần truy cập: Cho phép liên tục.
- Không cho phép: Chặn liên tục.
- Nhấp vào nút x: Chặn tạm thời.
Khi người dùng chọn Cho phép lần này, quyền được cấp là tạm thời, còn được gọi là quyền một lần. Thời gian cấp quyền bị giới hạn trong thời gian tương tác đang diễn ra với một ứng dụng web.
Lợi ích cho người dùng và thiết kế trải nghiệm người dùng của lựa chọn "Cho phép lần này"
Lựa chọn Cho phép lần này mang đến cho người dùng:
- Quyền kiểm soát nhiều hơn. Nghiên cứu người dùng Chrome cho thấy rằng người dùng thường chưa sẵn sàng đưa ra quyết định liên tục về quyền của trang web, cố gắng đánh giá xem họ có nhận được giá trị khi cấp quyền hay không. Việc cung cấp lựa chọn Cho phép một lần đáp ứng nhu cầu này và giúp việc cho phép truy cập ít rủi ro hơn.
- Rõ ràng hơn. Các lựa chọn Cho phép lần này và Cho phép mỗi lần truy cập rõ ràng cho biết một trong các lựa chọn là tạm thời, trong khi lựa chọn còn lại là liên tục.
Quyền một lần trong các trình duyệt khác
Trên web, quyền một lần được hỗ trợ trong một số trình duyệt, bao gồm cả Safari và Firefox. Để xem cách quyền này hoạt động trên thiết bị của bạn, hãy thử nghiệm với https://permission.site/one-time. Hãy nhớ thử quyền truy cập thông tin vị trí, camera và micrô, vì các quyền này có thể có hành vi cụ thể.
Ví dụ:
- Trong Safari 16 trên máy tính, quyền truy cập thông tin vị trí là quyền một lần theo mặc định (cho đến lần điều hướng tiếp theo). Người dùng có thể chọn duy trì quyền truy cập trong 24 giờ thông qua một hộp đánh dấu.
- Trong Firefox 115 trên máy tính, quyền truy cập thông tin vị trí, camera và micrô là quyền một lần theo mặc định. Người dùng có thể chọn duy trì quyền truy cập thông qua một hộp đánh dấu.
Tác động và đề xuất
Tác động của quyền một lần:
- Việc giới thiệu quyền một lần không ảnh hưởng đến các quyền mà người dùng đã cấp liên tục trước đó.
- Sau khi người dùng đưa ra quyết định về lời nhắc cấp quyền, thì trong thời gian họ truy cập, trạng thái quyền sẽ là được cấp hoặc bị từ chối. Quyền một lần không có gì khác biệt về mặt này.
- Tuy nhiên, nếu chọn Cho phép lần này, người dùng sẽ thấy lại lời nhắc cấp quyền trong lần truy cập tiếp theo.
Để đáp ứng quyền một lần, chủ sở hữu trang web nên làm như sau:
- Đảm bảo quá trình triển khai của bạn tuân theo các phương pháp hay nhất về quyền. Xem phần Các phương pháp hay nhất.
- Tìm hiểu thời điểm quyền một lần hết hạn. Xem thông tin chi tiết trong phần Thời gian hết hạn của quyền một lần.
- Tìm hiểu cách Permissions API hoạt động đối với quyền một lần và cách quan sát thời gian hết hạn. Xem thông tin chi tiết trong phần Permissions API.
Các phương pháp hay nhất
Lựa chọn Cho phép lần này có thể khiến mọi người có nhiều khả năng cấp quyền để dùng thử các tính năng hơn, nhưng cũng có thể làm giảm ý muốn cấp quyền truy cập vĩnh viễn. Điều này khiến việc tuân theo các phương pháp hay nhất trở nên quan trọng hơn.
- Cung cấp bối cảnh cần thiết trước khi yêu cầu cấp quyền. Giải thích cho người dùng lý do họ sẽ hưởng lợi từ một tính năng.
- Yêu cầu cấp quyền vào thời điểm thích hợp và dự kiến. Tốt nhất là hãy để người dùng thể hiện ý định sử dụng một tính năng nhất định theo tốc độ của riêng họ.
- Trong thời gian người dùng truy cập, hãy cung cấp trải nghiệm giống nhau bất kể người dùng chọn lựa chọn một lần hay liên tục.
Xem thêm hướng dẫn trong phần Giao diện người dùng cho quyền.
Thời gian hết hạn của quyền một lần
Theo mặc định, tất cả các quyền trên web đều được liên kết với một nguồn gốc, có thể được coi là một ứng dụng riêng. Với lựa chọn Cho phép lần này, người dùng cấp quyền một lần cho một nguồn gốc. Về cơ bản, quyền một lần sẽ hết hạn khi người dùng ngừng tương tác tích cực với nguồn gốc đó trong một khoảng thời gian. Điều này có nghĩa là trang web có thể tiếp tục sử dụng tính năng nếu người dùng chuyển sang một trang web khác trong một thẻ khác trong thời gian ngắn, nhưng sau đó quay lại.
Cụ thể hơn, quyền một lần được cấp sẽ hết hạn ngay khi đáp ứng bất kỳ điều kiện nào sau đây:
- Trang đã bị đóng, bị điều hướng khỏi hoặc bị loại bỏ. Điều này bao gồm cả việc đóng Chrome.
- Đã 16 giờ kể từ khi cấp quyền.
- Người dùng thu hồi quyền theo cách thủ công (ví dụ: trong Các nút điều khiển trang web) hoặc quyền bị ghi đè thông qua chính sách của doanh nghiệp.
- Trang đã ở chế độ nền trong ít nhất 5 phút, ngoại trừ trường hợp tính năng được phép chạy trong nền, chẳng hạn như camera hoặc micrô. Trong trường hợp này, miễn là trang web sử dụng tính năng, Chrome sẽ hiển thị chỉ báo dải thẻ và không bắt đầu bộ tính giờ 5 phút cho đến khi trang ngừng sử dụng tính năng. Xin lưu ý rằng bộ tính giờ 16 giờ vẫn đang chạy.
Thẻ nền
Một thẻ trình duyệt ở chế độ nền khi không ở chế độ nền trước. Một thẻ ở chế độ nền trước khi đó là thẻ hiển thị trong một cửa sổ trình duyệt không bị thu nhỏ.
Trong Chrome, một số tính năng, chẳng hạn như quyền truy cập thông tin vị trí, chỉ có thể chạy trong thẻ nền trước. Các tính năng này không được phép chạy trong thẻ nền. Các tính năng khác, chẳng hạn như camera và micrô, được phép chạy trong thẻ nền.

Chỉ báo dải thẻ
Các tính năng tiếp tục chạy khi thẻ ở chế độ nền có chỉ báo dải thẻ. Ví dụ: camera có chỉ báo dải thẻ.
Quyền truy cập thông tin vị trí không cần chỉ báo dải thẻ, vì quyền truy cập thông tin vị trí sẽ bị tạm dừng ngay khi trang ở chế độ nền.
Ví dụ
- Quyền truy cập thông tin vị trí: Người dùng đang ở trên
example.comvà cấp quyền truy cập thông tin vị trí một lần. Người dùng chuyển sang một thẻ khác. Điều này khiếnexample.comtrở thành một thẻ nền. Quyền truy cập thông tin vị trí bị tạm dừng ngay lập tức vì Chrome không cho phép truy cập thông tin vị trí ở chế độ nền, nhưng quyền một lần được cấp vẫn hợp lệ. Nếu người dùng quay lạiexample.comtrong vòng 5 phút, trang có thể tiếp tục truy cập thông tin vị trí (và bộ tính giờ hết hạn 5 phút sẽ được đặt lại). Nếu không, quyền một lần sẽ hết hạn. - Camera/Micrô: Người dùng đang ở trên
example.comvà cấp quyền truy cập vào camera một lần. Người dùng chuyển sang một thẻ khác. Điều này khiếnexample.comtrở thành một thẻ nền. Quyền truy cập vào camera có thể tiếp tục vì Chrome cho phép quyền truy cập vào camera tiếp tục ở chế độ nền. Chrome tiếp tục hiển thị chỉ báo dải thẻ cho camera miễn là camera đang được sử dụng để thông báo cho người dùng. Tại một thời điểm nào đó, trang web có thể quyết định ngừng quyền truy cập vào camera, trong trường hợp đó, bộ tính giờ hết hạn 5 phút sẽ bắt đầu. Sau 5 phút không có quyền truy cập vào camera, quyền một lần sẽ hết hạn.
Permissions API
Để truy vấn trạng thái của quyền API, bạn có thể sử dụng Permissions API:
- Nếu người dùng chọn Cho phép lần này, trạng thái Permission API sẽ được đặt thành
granted. Điều này có nghĩa là quyền một lần chưa hết hạn và quyền liên tục không thể phân biệt được và có cùng trạng thái:granted. - Sau khi quyền một lần hết hạn, trạng thái sẽ được đặt lại thành
prompt. - Để quan sát thời gian hết hạn của quyền một lần, hãy đăng ký trình xử lý sự kiện
PermissionStatus.onchange.
Bản minh hoạ
- Mở Chrome 116 trở lên trên máy tính.
- Mở
chrome://flags/#one-time-permissionrồi chọn Enable (Bật). Khởi động lại Chrome. Bước này buộc bật quyền một lần trong trường hợp quyền này chưa được triển khai trong trình duyệt Chrome của bạn. - Mở https://permission.site/one-time.
- Nhấp vào nút Geolocation (Quyền truy cập thông tin vị trí).
- Quan sát lời nhắc cấp quyền một lần mới.
- Chọn Cho phép lần này.
- Mở Các nút điều khiển trang web. Quan sát để thấy rằng bạn có thể quản lý quyền một lần.
- Đóng thẻ cho https://permission.site/one-time. Đảm bảo rằng không có thẻ nào khác cho nguồn gốc đó đang mở.
- Mở https://permission.site/one-time trong một thẻ mới.
- Mở Các nút điều khiển trang web. Chuyển đến Chế độ cài đặt trang web.
- Quan sát để thấy rằng quyền truy cập thông tin vị trí hiện đã trở lại trạng thái ban đầu: Hỏi (mặc định).
Kết luận và ý kiến phản hồi
Quyền một lần mang đến cho người dùng nhiều lựa chọn hơn và giao diện người dùng mới cho quyền của Chrome mang lại trải nghiệm người dùng nhất quán hơn về quyền trên các trình duyệt và nền tảng.
Nếu bạn gặp bất kỳ vấn đề nào với quyền một lần, hãy báo cáo vấn đề mới trên crbug cho lời nhắc cấp quyền.
Lời cảm ơn
Cảm ơn Rachel Andrew, Serena Chen, Balazs Engedy, Marian Harbach, Florian Jacky và Thomas Steiner đã xem xét bài viết này.