Với bản phát hành dần từ Chrome 116, chúng tôi sẽ thêm tùy chọn Cho phép lần này vào lời nhắc cấp quyề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 cách riêng của họ. Bạn có thể sử dụng lựa chọn Cho phép lần này trên máy tính đối với một số quyền phổ biến nhất: vị trí địa lý, máy ảnh và micrô. Hiện tại, lời nhắc cấp quyền đối với các khả năng khác và trên web dành cho thiết bị di động vẫn không 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 bài viết Tác động và đề xuất, rồi dùng thử bản minh hoạ.
Trải nghiệm người dùng mới cho các quyền
Trải nghiệm người dùng quyền trước Chrome 116
![Lời nhắc cấp quyền chỉ hiển thị tuỳ chọn chặn và cho phép.](https://developer.chrome.google.cn/static/blog/one-time-permissions/images/permission-prompt-showing-4cfa5caa7d33f.png?authuser=3&hl=vi)
Người dùng sẽ thấy 3 tuỳ 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 lại người dùng vào lúc khác, tối đa là 3 lần.
Bạn có thể quản lý các quyền thông qua mục Kiểm soát trang web trong thanh địa chỉ hoặc thông qua phần Cài đặt trang web.
Trải nghiệm người dùng về các quyền mới trên Chrome 116
![Lời nhắc cấp quyền với lựa chọn dùng một lần mới.](https://developer.chrome.google.cn/static/blog/one-time-permissions/images/permission-prompt-the-o-b78a728d235c9.png?authuser=3&hl=vi)
Người dùng thấy 4 tuỳ 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 ổn định.
- 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ấp là tạm thời, hay còn gọi là quyền một lần. Thời lượng của thao tác này bị giới hạn ở hoạt động tương tác hiện đ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 "Cho phép lần này"
Cho phép lần này cung cấp cho người dùng:
- Tăng quyền kiểm soát. Nghiên cứu về người dùng Chrome cho thấy rằng người dùng thường không sẵn sàng đưa ra quyết định lâu dài về các quyền đối với trang web, cố gắng đánh giá xem việc cấp quyền đó có giá trị hay không. Việc cung cấp lựa chọn Cho phép một lần sẽ đáp ứng nhu cầu này và giúp giảm bớt rủi ro khi cho phép truy cập.
- Rõ ràng hơn. Các tuỳ chọn Cho phép lần này và Cho phép mỗi lần truy cập rõ ràng sẽ cho biết rõ một trong các tuỳ chọn là tạm thời, còn tuỳ chọn còn lại là cố định.
Quyền một lần trong các trình duyệt khác
Trên web, một số trình duyệt hỗ trợ tính năng quyền một lần, bao gồm cả Safari và Firefox. Để xem cách các chế độ này hoạt động trên thiết bị của bạn, hãy thử nghiệm bằng https://permission.site/one-time. Hãy nhớ thử dùng các quyền truy cập vào thông tin định vị vị trí, máy ảnh và micrô vì những quyền này có thể có một số hành vi cụ thể.
Ví dụ:
- Trong Safari 16 trên máy tính, theo mặc định, chế độ định vị vị trí là một lần (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ờ bằng cách đánh dấu vào hộp.
- Trong Firefox 115 trên máy tính, theo mặc định, các quyền về vị trí địa lý, máy ảnh và micrô chỉ được áp dụng một lần. Người dùng có thể chọn sử dụng quyền truy cập liên tục bằng cách đánh dấu vào hộp.
Tác động và đề xuất
Tác động của quyền một lần:
- Việc cung cấp quyền một lần không ảnh hưởng đến những quyền mà trước đây người dùng đã cấp liên tục.
- Sau khi người dùng đưa ra quyết định về lời nhắc cấp quyền, thì trong khoảng thời gian truy cập, trạng thái cấp quyền sẽ được cấp hoặc bị từ chối. Quyền dùng một lần không có gì khác biệt trong vấn đề này.
- Tuy nhiên, nếu người dùng chọn Cho phép lần này thì họ sẽ thấy lại lời nhắc cấp quyền vào lần tiếp theo họ truy cập.
Để cấp quyền một lần, chủ sở hữu trang web nên làm như sau:
- Đảm bảo rằng việc triển khai của bạn tuân theo các phương pháp hay nhất về quyền. Xem 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 Quyền một lần hết hạn.
- Tìm hiểu cách hoạt động của Permissions API đối với các quyền một lần và cách quan sát thời hạn. Xem thông tin chi tiết trong Permissions API (API Quyền).
Các phương pháp hay nhất
Cho phép trong khoảng thời gian này có thể khiến người dùng có nhiều khả năng cấp quyền để dùng thử các tính năng, nhưng cũng có thể làm giảm khả năng họ sẵn sàng cấp quyền truy cập vĩnh viễn. Do đó, bạn càng cần phải làm theo các phương pháp hay nhất.
- Hãy 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 tại sao họ được hưởng lợi từ một chức năng.
- Yêu cầu cấp quyền tại một thời điểm thích hợp và dự kiến. Lý tưởng nhất là cho phép người dùng thể hiện ý định sử dụng một chức năng nhất định theo tiến độ của riêng họ.
- Trong suốt thời gian người dùng truy cập, cung cấp trải nghiệm như nhau bất kể người dùng chọn lựa chọn một lần hay cố định.
Xem thêm hướng dẫn trong Trải nghiệm người dùng về quyền.
Hết hạn quyền một lần
Theo mặc định, mọi quyền của 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 của chính nó). Khi chọn chế độ Cho phép lần này, người dùng cấp quyền một lần đối với 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 chủ động tương tá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ày nếu người dùng chuyển nhanh sang một trang web khác trong một thẻ khác, nhưng sau đó quay lại.
Cụ thể hơn, yêu cầu cấp quyền một lần sẽ hết hạn ngay khi đáp ứng bất kỳ điều kiện nào sau đây:
- Trang đã đóng, bị chuyển 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 phần Kiểm soát trang web) hoặc quyền bị ghi đè thông qua một chính sách doanh nghiệp.
- Trang đã ở chế độ ở chế độ nền trong ít nhất 5 phút, trừ phi tính năng đó được phép chạy trong nền, chẳng hạn như máy ảnh 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 sẽ chạy trong nền khi không ở nền trước. Một thẻ chạy ở nền trước khi đó là thẻ đang hiển thị trong cửa sổ trình duyệt không được thu nhỏ.
Trong Chrome, một số chức năng, như tính năng định vị vị trí, chỉ có thể chạy trong thẻ nền trước. Quảng cáo này không được phép chạy trong thẻ nền. Những ứng dụng khác, như máy ảnh 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ạy trong nền sẽ có chỉ báo dải thẻ. Ví dụ: máy ảnh có chỉ báo dải thẻ.
![Một thẻ có dấu chấm màu đỏ.](https://developer.chrome.google.cn/static/blog/one-time-permissions/images/a-tab-a-red-dot-ffdcc0b012d03.jpg?authuser=3&hl=vi)
Định vị vị trí không cần chỉ báo dải thẻ vì quyền truy cập vào vị trí địa lý bị tạm dừng ngay khi trang chạy trong nền.
Ví dụ
- Vị trí địa lý: Người dùng đang sử dụng
example.com
và cấp quyền truy cập vào thông tin định vị vị trí một lần. Người dùng chuyển sang một thẻ khác. Thao tác này sẽ đặtexample.com
làm thẻ nền. Quyền truy cập vào vị trí địa lý bị tạm dừng ngay lập tức vì Chrome không cho phép truy cập vào thông tin định vị vị trí ở chế độ nền, nhưng lần cấp quyền một lần vẫn hợp lệ. Nếu người dùng quay lạiexample.com
trong vòng 5 phút, trang có thể tiếp tục truy cập vào thông tin định vị 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. - Máy ảnh/Micrô: Người dùng đang sử dụng
example.com
và cấp quyền truy cập một lần vào máy ảnh. Người dùng chuyển sang một thẻ khác. Thao tác này sẽ đặtexample.com
làm thẻ nền. Quyền truy cập vào máy ảnh có thể tiếp tục vì Chrome cho phép quyền truy cập vào máy ảnh tiếp tục trong nền. Chrome liên tục hiển thị chỉ báo dải thẻ cho máy ảnh miễn là máy ảnh đ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 truy cập vào máy ảnh. Khi đó, bộ tính giờ hết hạn 5 phút sẽ bắt đầu. Sau 5 phút nếu bạn không có quyền truy cập vào máy ảnh, quyền một lần sẽ hết hạn.
API Quyền
Để truy vấn trạng thái của quyền đối với API, bạn có thể dùng Permissions API (API Quyền):
- Nếu người dùng chọn Allow this time (Cho phép lần này), thì trạng thái của Permissions API sẽ là
granted
. Điều này có nghĩa là người dùng không thể phân biệt được quyền dùng một lần và quyền cố định nào đó và quyền đó sẽ có cùng trạng thái:granted
. - Khi quyền một lần hết hạn, trạng thái sẽ được thiết lập 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-permission
rồi chọn Bật. Khởi động lại Chrome. Bước này sẽ buộc bạn phải bật quyền một lần nếu những quyền này chưa được triển khai trong trình duyệt Chrome. - Mở trang https://permission.site/one-time.
- Nhấp vào nút Vị trí địa lý.
- 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ở Kiểm soát trang web. Lưu ý rằng bạn có thể quản lý quyền một lần.
- Đóng thẻ 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 thẻ mới.
- Mở Kiểm soát trang web. Chuyển đến phần Cài đặt trang web.
- Lưu ý rằng quyền truy cập Vị trí địa lý hiện đã trở về trạng thái ban đầu: Hỏi (mặc định).
Kết luận và phản hồi
Quyền dùng một lần mang đến cho người dùng nhiều lựa chọn hơn, đồng thời giao diện người dùng mới về quyền của Chrome mang đến trải nghiệm nhất quán hơn cho người dùng 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ề quyền một lần, hãy gửi vấn đề mới về crbug để nhắc cấp quyền.
Xác nhậ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.