从 Chrome 116 开始,我们将逐步推出一项新功能,在权限提示中添加 仅这次访问时允许 选项。我们的目标是让用户能够按照自己的意愿使用强大的 Web 功能。仅这次访问时允许 选项最初将在桌面设备上提供,适用于一些最常见的权限:地理位置、摄像头和麦克风。目前,其他功能和移动 Web 的权限提示保持不变,但将来可能会发生变化。
权限的新用户体验
Chrome 116 之前的权限用户体验
用户会看到三个选项:
- 允许:永久允许。
- 屏蔽:永久屏蔽。
- 点击 x 按钮:暂时屏蔽。网站稍后可以再次提示用户,最多三次。
可以通过地址栏中的网站控件 或网站设置 管理权限。
Chrome 116 中的新权限用户体验
用户会看到四个选项:
- 仅这次访问时允许:暂时允许。
- 每次访问时都允许:永久允许。
- 不允许:永久屏蔽。
- 点击 x 按钮:暂时屏蔽。
当用户选择仅这次访问时允许 时,授予的权限是临时的,也称为单次授权。其有效期仅限于当前与 Web 应用的互动。
“仅这次访问时允许”的用户优势和用户体验设计
仅这次访问时允许 为用户提供了以下优势:
- 更强的控制力。 Chrome 用户研究表明,用户通常不愿对网站权限做出永久性决定,而是希望先评估授予权限后是否能获得回报。提供“仅这次访问时允许”选项可以满足此需求,并降低允许访问的风险。
- 更清晰。 明确的仅这次访问时允许 和每次访问时都允许 选项清楚地表明,其中一个选项是临时的,而另一个选项是永久的。
其他浏览器中的单次授权
在 Web 上,许多浏览器(包括 Safari 和 Firefox)都支持单次授权。如需了解单次授权在您的设备上的运作方式,请访问 https://permission.site/one-time 进行实验。请务必试用地理位置、摄像头和麦克风权限,因为它们可能具有特定的行为。
例如:
- 在桌面设备上的 Safari 16 中,地理位置默认是单次授权(直到下次导航)。用户可以通过复选框选择将访问权限保留 24 小时。
- 在桌面设备上的 Firefox 115 中,地理位置、摄像头和麦克风权限默认是单次授权。用户可以通过复选框选择永久访问。
影响和建议
单次授权的影响:
- 引入单次授权不会影响用户之前永久授予的权限。
- 用户对权限提示做出决定后,在其访问期间,权限状态为“已授予”或“已拒绝”。单次授权在这方面没有任何区别。
- 但是,如果用户选择仅这次访问时允许,则在下次访问时会再次看到权限提示。
为了适应单次授权,我们建议网站所有者执行以下操作:
- 确保您的实现遵循有关权限的最佳实践。查看最佳实践。
- 了解单次授权的过期时间。如需了解详情,请参阅单次授权的过期时间。
- 了解 Permissions API 如何处理单次授权,以及 如何观察过期情况。如需了解详情,请参阅 Permissions API。
最佳实践
仅这次访问时允许 可能会让用户更愿意授予权限来试用功能,但也可能会降低他们授予永久访问权限的意愿。因此,遵循最佳实践就显得更加重要。
- 在请求权限之前提供必要的背景信息。向用户说明他们将从功能中受益的原因。
- 在适当且预期的时刻请求权限。理想情况下,让用户按照自己的节奏表达使用特定功能的意愿。
- 在用户访问期间,无论用户选择的是单次授权还是永久授权,都提供相同的体验。
如需查看其他指南,请参阅权限用户体验。
单次授权的过期时间
默认情况下,所有 Web 权限都绑定到来源,来源可以被视为自己的应用。使用仅这次访问时允许 时,用户会向来源授予单次授权。从本质上讲,当用户在一段时间内停止与该来源进行积极互动时,单次授权就会过期。这意味着,如果用户在不同的标签页中短暂切换到另一个网页,然后返回,网站可以继续使用该功能。
更详细地说,只要满足以下任一条件,单次授权就会过期:
- 页面已关闭、已离开或已舍弃。这包括关闭 Chrome。
- 自授予权限以来已过去 16 小时。
- 用户手动撤消权限(例如,在网站控件 中),或通过企业政策覆盖权限。
- 页面已在 后台 运行至少 5 分钟,除非该功能允许在后台运行,例如摄像头或麦克风。在这种情况下,只要网站使用该功能,Chrome 就会显示标签栏指示标志,并且在页面停止使用该功能之前不会启动 5 分钟计时器。请注意,16 小时计时器仍在运行。
后台标签页
当浏览器标签页不在前台时,它处于后台状态。 当标签页是未最小化的浏览器窗口中的可见标签页时,它处于前台状态。
在 Chrome 中,某些功能(例如地理位置)只能在前台标签页中运行。不允许在后台标签页中运行。其他功能(例如摄像头和麦克风)则允许在后台标签页中运行。

标签栏指示标志
当标签页处于后台时继续运行的功能具有标签栏指示标志。例如,相机具有标签栏指示标志。
地理位置不需要标签栏指示标志,因为地理位置访问权限会在页面处于后台时立即暂停。
示例
- 地理位置:用户位于
example.com并授予单次地理位置访问权限。用户切换到另一个标签页。这会使example.com成为后台标签页。地理位置访问权限会立即暂停,因为 Chrome 不允许后台地理位置访问权限,但单次授权仍然有效。如果用户在五分钟内返回example.com,页面可以恢复地理位置访问权限(并且 5 分钟的过期计时器会重置)。否则,单次授权将过期。 - 摄像头/麦克风:用户位于
example.com并授予单次摄像头访问权限。用户切换到另一个标签页。这会使example.com成为后台标签页。摄像头访问权限可以继续,因为 Chrome 允许摄像头访问权限在后台继续。只要摄像头在使用中,Chrome 就会一直显示摄像头的标签栏指示标志,以便用户了解情况。在某个时间点,网站可能会决定停止摄像头访问权限,在这种情况下,5 分钟的过期计时器会启动。在 5 分钟内没有摄像头访问权限后,单次授权将过期。
Permissions API
如需查询 API 权限的状态,您可以使用 Permissions API:
- 如果用户选择仅这次访问时允许,Permission API 状态将设置为
granted。这意味着,未过期的单次授权和永久授权无法区分,并且具有相同的状态:granted。 - 单次授权过期后,状态将重新设置为
prompt。 - 如需观察单次授权的过期情况,请注册
PermissionStatus.onchange事件处理脚本。
演示
- 在桌面设备上打开 Chrome 116 或更高版本。
- 打开
chrome://flags/#one-time-permission并选择启用 。重新启动 Chrome。如果您的 Chrome 浏览器尚未推出单次授权,此步骤会强制启用单次授权。 - 打开 https://permission.site/one-time。
- 点击地理位置 按钮。
- 观察新的单次授权提示。
- 选择仅这次访问时允许 。
- 打开网站控件 。观察到您可以管理单次授权。
- 关闭 https://permission.site/one-time 的标签页。确保没有打开该来源的其他标签页。
- 在新标签页中打开 https://permission.site/one-time。
- 打开网站控件 。前往网站设置 。
- 观察到地理位置权限现在已恢复到初始状态:询问(默认) 。
结论和反馈
单次授权为用户提供了更多选择,而 Chrome 的新权限界面为用户带来了更一致的权限用户体验,适用于各种浏览器和平台。
如果您在使用单次授权时遇到任何问题,请为权限提示提交新的 crbug 问题。
致谢
感谢 Rachel Andrew、Serena Chen、Balazs Engedy、Marian Harbach、Florian Jacky 和 Thomas Steiner 审阅本文。