Chrome 的一次性權限

Maud Nalpas
Maud Nalpas

Chrome 116 開始,我們會逐步在權限提示中加入「允許這次」選項。我們的目標是讓使用者更輕鬆地使用強大的網路功能。允許這次功能一開始會在電腦上提供,適用於幾項最常見的權限:地理位置、相機和麥克風。其他功能和行動網頁的權限提示目前不變,但日後可能會有所調整。

如果您是網站擁有者,請參閱「影響和建議」,並試用示範

新的權限使用者體驗

Chrome 116 之前的權限使用者體驗

權限提示僅顯示封鎖和允許選項。
Chrome 116 之前的權限提示。

使用者會看到三個選項:

  • 允許:持續允許。
  • 區塊:持續性區塊。
  • 點選「x」x按鈕:暫時封鎖。網站可在日後再次提示使用者 (最多三次)。

您可以透過位於網址列的「網站控制項」或「網站設定」管理權限。

Chrome 116 的新權限使用者體驗

權限提示訊息,包含新的「一次性」選項。
權限提示,包含新的「一次性」選項。這是電腦版上新的地理位置、相機和麥克風權限提示。

使用者會看到四個選項:

  • 這次允許:暫時允許。
  • 每次造訪時允許:持續允許。
  • 不允許:永久封鎖。
  • 點選「x」x按鈕:暫時封鎖。

使用者選取「這次允許」時,系統會授予臨時權限,也稱為單次授權。其持續時間僅限於與網頁應用程式目前進行中的互動。

一次性權限可透過網站控制項網站設定,像其他權限一樣進行管理。

「這次允許」的使用者福利和使用者體驗設計

這次允許可為使用者提供:

  • 進一步掌控權。Chrome 使用者研究顯示,使用者通常不願意針對網站權限做出永久決定,而是會先評估授權後是否能獲得回報。提供一次性允許選項可滿足這項需求,並降低允許存取的風險。
  • 進一步闡明。明確的「這次允許」和「每次造訪時允許」選項清楚指出其中一個選項是暫時性的,另一個則是永久性的。

其他瀏覽器中的單次授權

在網路上,許多瀏覽器 (包括 Safari 和 Firefox) 都支援一次性權限。如要瞭解這些權限在裝置上的運作方式,請試試 https://permission.site/one-time。請務必試用地理位置、相機和麥克風權限,因為這些權限可能會執行特定行為。

例如:

  • 在電腦版 Safari 16 中,地理位置資訊預設為一次性 (直到下次導覽為止)。使用者可以透過勾選方塊,選擇啟用 24 小時的存取權。
  • 在電腦版 Firefox 115 中,地理位置、相機和麥克風的存取權預設為一次性權限。使用者可以透過勾選方塊選擇啟用持續存取權。

影響和最佳化建議

單次授權的影響:

  • 這項政策不會影響使用者先前授予的持續性權限。
  • 使用者在權限提示中做出決定後,在造訪期間,權限狀態會維持為已授予或已拒絕。單次授權不會影響這項規定。
  • 不過,如果使用者選取「這次允許」,下次造訪時就會再次看到權限提示。

為支援一次性權限,我們建議網站擁有者採取以下做法:

最佳做法

允許這段時間可能會讓使用者更願意授予權限,以便試用功能,但也可能降低他們授予永久存取權的意願。因此,請務必遵循最佳做法。

  • 請先提供必要的背景資訊,再要求權限。向使用者說明為何他們會從某項功能中受益。
  • 在適當且預期的時機要求權限。理想情況下,您應讓使用者自行表達是否要使用特定功能。
  • 無論使用者選取的是一次性還是持續性選項,在使用者造訪期間,請提供相同的體驗。

請參閱「權限使用者體驗」一文,瞭解其他指引。

單次授權的到期日

根據預設,所有網頁權限都會繫結至來源,可視為本身的應用程式。使用者選取「Allow this time」時,會向來源提供一次性權限。基本上,當使用者停止與該來源互動一段時間後,一次性權限就會到期。也就是說,如果使用者在其他分頁中短暫切換至其他網頁,然後再返回原網頁,網站仍可繼續使用這項功能。

更詳細來說,只要滿足下列任一條件,一次性權限授予就會立即失效:

  • 頁面已關閉、離開或捨棄。包括關閉 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 事件處理常式。

示範

  1. 在電腦上開啟 Chrome 116 以上版本。
  2. 開啟 chrome://flags/#one-time-permission,然後選取「啟用」。重新啟動 Chrome。這個步驟會強制啟用一次性權限,以防 Chrome 瀏覽器尚未推出這項功能。
  3. 開啟 https://permission.site/one-time
  4. 按一下「地理位置」按鈕。
  5. 觀察新的一次性權限提示。
  6. 選擇「這次允許」
  7. 開啟「網站控制項」。請注意,您可以管理一次性權限。
  8. 關閉 https://permission.site/one-time 分頁。確認沒有其他分頁開啟該來源。
  9. 在新分頁中開啟 https://permission.site/one-time
  10. 開啟「網站控制項」。前往「網站設定」
  11. 請注意,地理位置權限現在已恢復至初始狀態:「詢問 (預設)」

結論和意見回饋

一次性權限可讓使用者有更多選擇,而 Chrome 的新權限 UI 則可在瀏覽器和平台之間提供更一致的權限使用者體驗。

如果您在使用一次性權限時遇到任何問題,請針對權限提示檔案提交新的 crbug 問題

特別銘謝

感謝 Rachel Andrew、Serena Chen、Balazs Engedy、Marian Harbach、Florian Jacky 和 Thomas Steiner 審查本文。