宣告權限

如要使用大部分的擴充功能 API 和功能,您必須在資訊清單的權限欄位中宣告擴充功能的意圖。擴充功能可以要求下列類別的權限,並使用對應的資訊清單鍵指定:

"permissions"
:包含已知字串清單中的項目。變更可能會觸發警告
"optional_permissions"
由使用者在執行階段授予,而非在安裝時授予。
"content_scripts.matches"
包含一或多個比對模式,允許內容指令碼插入一或多個主機。變更可能會觸發警告
"host_permissions"
包含一或多個比對模式,可授予一或多個主機的存取權。變更可能會觸發警告
"optional_host_permissions"
由使用者在執行階段授予,而非在安裝時授予。

如果擴充功能遭惡意軟體入侵,權限有助於限制損害。如「附帶警告的權限」一文所述,系統會在安裝前或執行階段向使用者顯示部分權限警告,徵求使用者同意。

只要擴充功能允許,請考慮使用選用權限,讓使用者充分瞭解資源和資料的存取權,並加以控管。

如果 API 需要權限,說明文件會說明如何宣告權限。如需範例,請參閱「Storage API」。

資訊清單

以下是資訊清單檔案的權限部分範例:

manifest.json:

{
  "name": "Permissions Extension",
  ...
  "permissions": [
    "activeTab",
    "contextMenus",
    "storage"
  ],
  "optional_permissions": [
    "topSites",
  ],
  "host_permissions": [
    "https://www.developer.chrome.com/*"
  ],
  "optional_host_permissions":[
    "https://*/*",
    "http://*/*"
  ],
  ...
  "manifest_version": 3
}

主機權限

擴充功能可透過主機權限,與網址的比對模式互動。除了本身的 API 權限外,部分 Chrome API 也需要主機權限,相關說明請參閱各個參考資料頁面。例如:

權限 (含警告)

如果擴充功能要求多項權限,且其中許多權限在安裝時會顯示警告,使用者就會看到警告清單,如下例所示:

安裝擴充功能時顯示權限警告

如果擴充功能顯示的警告較少,或向使用者說明權限,他們就越可能信任該擴充功能。建議導入選用權限或功能較弱的 API,以免出現令人擔憂的警告。如需有關警告的最佳做法,請參閱「權限警告指南」。如要查看特定警告,請參閱「權限」參考清單,瞭解警告適用的權限。

在資訊清單檔案的 "host_permissions""content_scripts.matches" 欄位中新增或變更相符模式,也會觸發警告。詳情請參閱「更新權限」。

允許存取

如果擴充功能需要在 file:// 網址上執行,或在無痕模式下運作,使用者必須在擴充功能的詳細資料頁面授予存取權。如需開啟詳細資料頁面的操作說明,請參閱「管理擴充功能」一文。

允許存取檔案網址和無痕頁面

  1. 在 Chrome 中,對擴充功能圖示按一下滑鼠右鍵。
  2. 選擇「管理擴充功能」

    擴充功能內容選單
    擴充功能選單
  3. 向下捲動,啟用檔案網址或無痕模式的存取權。

    在擴充功能詳細資料頁面中允許檔案網址和無痕模式
    已啟用檔案網址和無痕模式的存取權。

如要偵測使用者是否已允許存取權,可以呼叫 extension.isAllowedIncognitoAccess()extension.isAllowedFileSchemeAccess()