隨著 Chrome 116 逐步推出,我們會在權限提示中加入「允許這次」選項。我們的目標是讓使用者能夠更輕鬆地依自己的方式運用強大的網路功能。「僅允許這一次」在電腦上支援部分常用權限:地理位置、相機和麥克風。其他功能和行動版網站的權限提示目前維持不變,但日後可能會改變。
全新的權限使用者體驗
Chrome 116 以下版本的權限使用者體驗
![權限提示只會顯示封鎖和允許項目。](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-showing-4cfa5caa7d33f.png?authuser=19&hl=zh-tw)
使用者會看到三個選項:
- 允許:永久允許。
- 封鎖:永久區塊。
- 點選「x」x按鈕:暫時封鎖。網站稍後最多可再次提示使用者 3 次。
您可以透過網址列的網站控制項,或透過網站設定管理權限。
Chrome 116 的全新權限使用者體驗
![提供新的一次性選項的權限提示。](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-the-o-b78a728d235c9.png?authuser=19&hl=zh-tw)
使用者會看到四個選項:
- 這次允許:暫時允許。
- 每次造訪時允許:持續允許。
- 不允許:永久區塊。
- 點選「x」x按鈕:暫時封鎖。
使用者選取「僅允許這一次」時,授予的權限是暫時的,也稱為單次授權。其持續時間僅限於目前與網頁應用程式的互動情形。
「允許這一次」的使用者福利和使用者體驗設計
「僅允許這一次」可為使用者提供以下內容:
- 控管權更高Chrome 使用者研究顯示,使用者經常還沒準備好持續決定網站權限,因此試圖評估是否願意授予權限。因此,提供一次性的允許選項就可以滿足這項需求,降低存取風險。
- 更清楚明確的「允許這次允許」和「每次造訪時允許」選項會明確指出其中一個選項是臨時選項,另一個則是永久選項。
其他瀏覽器中的單次權限
在網頁上,許多瀏覽器 (包括 Safari 和 Firefox) 支援單次權限。如要瞭解這些控制項在裝置上的運作方式,請以 https://permission.site/one-time 進行實驗。請務必試用地理位置、相機和麥克風權限,因為這些權限可能屬於特定行為。
例如:
- 在電腦版 Safari 16 中,地理位置預設為一次 (直到下一次導覽為止)。使用者只要勾選核取方塊,即可選擇保留 24 小時的存取權。
- 在 Firefox 115 電腦版中,地理位置、相機和麥克風權限預設為一次。使用者可透過核取方塊選擇永久存取權。
影響和建議
一次性權限的影響:
- 啟用單次權限不會影響使用者先前已永久授予的權限。
- 使用者在權限提示中做出決定後,在造訪期間,權限狀態將遭到拒絕或拒絕。而單次授權就和上述情況沒有差別。
- 不過,如果使用者選取「僅允許這一次」,則下次造訪時,系統會再次顯示權限提示。
為加入一次性權限,我們建議網站擁有者採取下列做法:
- 請確保您實作時符合權限的最佳做法。詳閱最佳做法。
- 瞭解單次授權的到期時間。詳情請參閱單次權限到期日。
- 瞭解 Permissions API 對一次性權限的行為,以及如何觀察到期時間。前往 Permissions API 查看詳細資料。
最佳做法
這段時間可能會提高使用者授予試用功能的權限,但也有可能降低他們授予永久存取權的意願。因此遵循最佳做法更加重要。
- 要求權限前,請先提供必要的背景資訊。向使用者說明這項功能的好處。
- 在適當時機要求權限。建議您讓使用者按照自己的步調,使用特定功能。
- 在使用者造訪期間,無論使用者選取的是一次性或永久選項,提供相同的使用體驗。
請參閱「權限使用者體驗」一文的其他指南。
單次授權的效期
根據預設,所有網路權限都會繫結至一個「來源」,這可以視為本身的應用程式。如果選取「僅允許這一次」,使用者就會授予一次來源的單次權限。基本上,當使用者停止主動與來源互動一段時間後,單次權限就會失效。也就是說,如果使用者短暫切換至其他分頁,但又返回某個網頁,那麼網站仍可繼續使用這項功能。
更具體地說,單次授權會在符合下列任一條件時,立即失效:
- 網頁已關閉、離開頁面或捨棄。包括關閉 Chrome。
- 授予權限後已過 16 小時。
- 使用者手動撤銷權限 (例如在網站控制項中),或透過企業政策覆寫權限。
- 網頁已處於背景至少 5 分鐘,除非該功能可在背景執行,例如相機或麥克風。在此情況下,只要網站使用該功能,Chrome 就會顯示分頁列指標,而且網頁不會啟動 5 分鐘計時器,直到網頁停止使用該功能為止。請注意,16 小時計時器仍在執行中。
背景分頁
瀏覽器分頁位於背景,且並非位於前景。如果分頁未最小化瀏覽器視窗中的可見分頁,該分頁會顯示在前景中。
在 Chrome 中,部分功能 (例如地理位置) 只能在前景分頁中執行。我們不允許在背景分頁中執行。相機和麥克風等其他應用程式則可在背景分頁中執行。
分頁列指標
分頁在背景運作時,繼續執行的功能會顯示分頁列指標。例如,相機有分頁列指標。
![標有紅點的分頁標籤。](https://developer.chrome.com/static/blog/one-time-permissions/images/a-tab-a-red-dot-ffdcc0b012d03.jpg?authuser=19&hl=zh-tw)
地理位置不需用到定位列指標,因為只要網頁在背景中,地理位置存取權就會立即暫停。
示例
- 地理位置:使用者位於
example.com
,並授予一次性的地理位置存取權。使用者切換到其他分頁。這會將example.com
設為背景分頁。由於 Chrome 不允許存取背景地理位置,但一次授權仍有效,因此系統會立即暫停地理位置存取權。如果使用者在 5 分鐘內返回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。
- 開啟網站控制項。前往「網站設定」。
- 您會發現「地理位置」權限現在已恢復初始狀態:Ask (預設)。
結論和意見回饋
單次授權可提供使用者更多選擇,而 Chrome 的全新權限 UI 可在各瀏覽器和平台上提供更一致的權限使用者體驗。
如果您在使用一次性權限時遇到任何問題,請針對權限提示提交新的錯誤問題。
特別銘謝
感謝 Rachel Andrew、Serina Chen、Balazs Engedy、Marian Harbach、Florian Jacky 和 Thomas Steiner 的閱讀。