Chrome 的一次性權限

我們將從 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 中,地理位置、攝影機和麥克風權限預設為一次性權限。使用者可以透過核取方塊選擇持續存取。

影響與建議

單次授權的影響:

  • 導入一次性權限後,使用者先前授予的永久權限不會受到影響。
  • 使用者在權限提示中做出決定後,在造訪期間,權限狀態會是「已授予」或「已拒絕」。單次授權在這方面沒有任何差異。
  • 不過,如果使用者選取「只允許這次」,下次造訪時就會再次看到權限提示。

為配合單次權限,建議網站擁有者採取下列做法:

最佳做法

允許這次可能會讓使用者更願意授予權限來試用功能,但他們可能不願授予永久存取權。因此,請務必遵循最佳做法。

  • 要求權限前,請先提供必要的背景資訊。向使用者說明這項功能的好處。
  • 在適當且預期的時機要求權限。理想情況下,使用者應能自行決定何時要使用特定功能。
  • 在使用者造訪期間,無論使用者選取一次性或持續性選項,都提供相同的體驗。

請參閱「權限使用者體驗」中的其他指引。

單次授權到期

根據預設,所有網頁權限都會繫結至來源,可視為應用程式本身。使用者選取「允許這次」,授予來源單次授權。基本上,如果使用者一段時間未主動與來源互動,一次性權限就會過期。也就是說,如果使用者短暫切換至其他分頁中的網頁,然後返回原網頁,網站仍可繼續使用這項功能。

具體來說,只要符合下列任一條件,單次授權就會過期:

  • 頁面已關閉、離開或捨棄。包括關閉 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 的新權限使用者介面則可在瀏覽器和平台之間,提供更一致的權限使用者體驗。

如果一次性權限有任何問題,請為權限提示回報新的 crbug 問題

特別銘謝

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