chrome.management

說明

chrome.management API 可讓您管理已安裝及執行的擴充功能/應用程式清單。這對覆寫內建新分頁的擴充功能來說特別實用。

權限

management

您必須在擴充功能資訊清單中宣告「管理」權限,才能使用 Management API。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "management"
  ],
  ...
}

management.getPermissionWarningsByManifest()management.uninstallSelf()management.getSelf() 不需要管理權限。

類型

ExtensionDisabledReason

Chrome 44 以上版本

停用項目的原因。

列舉

ExtensionInfo

已安裝的擴充功能、應用程式或主題的相關資訊。

屬性

  • appLaunchUrl

    字串 選用

    啟動網址 (僅適用於應用程式)。

  • availableLaunchTypes

    LaunchType[] 選用

    目前可用的啟動類型 (僅適用於應用程式)。

  • description

    字串

    這項擴充功能、應用程式或主題的說明。

  • disabledReason

    停用項目的原因。

  • 已啟用

    boolean

    目前為啟用或停用狀態。

  • homepageUrl

    字串 選用

    這個擴充功能、應用程式或主題的首頁網址。

  • hostPermissions

    string[]

    傳回主機權限清單。

  • 圖示

    IconInfo[] 選用

    圖示資訊清單。請注意,這只是反映資訊清單中宣告的內容,該網址的實際圖片可能會比宣告的內容大或小,因此您可以考慮在參照這些圖片的 img 標記上使用明確的寬度和高度屬性。詳情請參閱圖示的資訊清單說明文件

  • id

    字串

    擴充功能的專屬 ID。

  • installType

    擴充功能的安裝方式。

  • isApp

    boolean

    已淘汰

    請使用 management.ExtensionInfo.type

    如果這是應用程式,則為「true」。

  • launchType

    LaunchType 選用

    應用程式啟動類型 (僅適用於應用程式)。

  • mayDisable

    boolean

    使用者是否可以停用或解除安裝這項擴充功能。

  • mayEnable

    布林值 (選用)

    Chrome 62 以上版本

    設定是否可由使用者啟用。只有未啟用的擴充功能才會傳回這個信號。

  • 名稱

    字串

    這個擴充功能、應用程式或主題的名稱。

  • offlineEnabled

    boolean

    擴充功能、應用程式或主題是否宣告其支援離線功能。

  • optionsUrl

    字串

    項目選項網頁的網址 (如果有的話)。

  • 權限

    string[]

    傳回 API 權限清單。

  • shortName

    字串

    這個擴充功能、應用程式或主題的簡短名稱。

  • 類型

    這個擴充功能、應用程式或主題的類型。

  • updateUrl

    字串 選用

    這個擴充功能、應用程式或主題的更新網址。

  • version

    字串

    這個擴充功能、應用程式或主題的版本

  • versionName

    字串 選用

    Chrome 50 以上版本

    這個擴充功能、應用程式或主題的版本名稱 (如果資訊清單指定名稱)。

ExtensionInstallType

Chrome 44 以上版本

擴充功能的安裝方式。其中一個 admin:系統因管理政策 development 而安裝擴充功能:擴充功能已在開發人員模式下解壓縮,normal:擴充功能通常是透過 .crx 檔案安裝 sideload:裝置上的其他軟體已安裝擴充功能,other:擴充功能是由其他方式安裝。

列舉

"admin"

ExtensionType

Chrome 44 以上版本

這個擴充功能、應用程式或主題的類型。

列舉

"extension"

"packaged_app"

"legacy_packaged_app"

"login_screen_extension"

IconInfo

擴充功能、應用程式或主題的圖示相關資訊。

屬性

  • 大小

    號碼

    代表圖示寬度和高度的數字。可能的值包括但不限於 128、48、24 和 16。

  • url

    字串

    這個圖示圖片的網址。如要顯示灰階版本的圖示 (例如表示擴充功能已停用),請在網址中加入 ?grayscale=true

LaunchType

這些都是可能的應用程式啟動類型。

列舉

UninstallOptions

Chrome 88 以上版本

處理擴充功能解除安裝作業的選項。

屬性

  • showConfirmDialog

    布林值 (選用)

    是否應提示使用者確認解除安裝對話方塊。自行解除安裝時,預設為 false。如果擴充功能解除安裝其他擴充功能,系統會忽略這個參數,且對話方塊一律會顯示。

方法

createAppShortcut()

Promise
chrome.management.createAppShortcut(
  id: string,
  callback?: function,
)

顯示為應用程式建立捷徑的選項。在 Mac 上,只能建立封裝應用程式捷徑。

參數

  • id

    字串

    此 ID 應來自 management.ExtensionInfo 的應用程式項目。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

Promise
chrome.management.generateAppForLink(
  url: string,
  title: string,
  callback?: function,
)

為網址產生應用程式。傳回產生的書籤應用程式。

參數

  • 字串

    網頁的網址。網址通訊協定只能是「http」或「https」。

  • 字串

    產生的應用程式標題。

  • 函式選用

    callback 參數如下所示:

    (result: ExtensionInfo)=>void

傳回

  • Promise<ExtensionInfo>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

get()

Promise
chrome.management.get(
  id: string,
  callback?: function,
)

傳回具有指定 ID 的已安裝擴充功能、應用程式或主題的相關資訊。

參數

傳回

  • Promise<ExtensionInfo>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

getAll()

Promise
chrome.management.getAll(
  callback?: function,
)

傳回已安裝擴充功能和應用程式的相關資訊清單。

參數

傳回

  • Promise<ExtensionInfo[]>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

getPermissionWarningsById()

Promise
chrome.management.getPermissionWarningsById(
  id: string,
  callback?: function,
)

傳回指定擴充功能 ID 的權限警告清單。

參數

  • id

    字串

    已安裝擴充功能的 ID。

  • 回呼

    函式選用

    callback 參數如下所示:

    (permissionWarnings: string[])=>void

    • permissionWarnings

      string[]

傳回

  • Promise<string[]>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

getPermissionWarningsByManifest()

Promise
chrome.management.getPermissionWarningsByManifest(
  manifestStr: string,
  callback?: function,
)

傳回指定擴充功能資訊清單字串的權限警告清單。注意:不必要求資訊清單中的「管理」權限,即可使用這個函式。

參數

  • manifestStr

    字串

    擴充功能資訊清單 JSON 字串。

  • 回呼

    函式選用

    callback 參數如下所示:

    (permissionWarnings: string[])=>void

    • permissionWarnings

      string[]

傳回

  • Promise<string[]>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

getSelf()

Promise
chrome.management.getSelf(
  callback?: function,
)

傳回來電額外資訊、應用程式或主題的相關資訊。注意:不必要求資訊清單中的「管理」權限,即可使用這個函式。

參數

傳回

  • Promise<ExtensionInfo>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

installReplacementWebApp()

Promise Chrome 77 以上版本
chrome.management.installReplacementWebApp(
  callback?: function,
)

啟動資訊清單中指定的 replace_web_app。提示使用者進行安裝 (如果尚未安裝)。

參數

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

launchApp()

Promise
chrome.management.launchApp(
  id: string,
  callback?: function,
)

啟動應用程式。

參數

  • id

    字串

    應用程式的擴充功能 ID。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

setEnabled()

Promise
chrome.management.setEnabled(
  id: string,
  enabled: boolean,
  callback?: function,
)

啟用或停用應用程式或擴充功能。在大多數情況下,使用者手勢 (例如按鈕的 on 處理常式) 必須呼叫這個函式,並為使用者提供原生確認 UI 以防止濫用。

參數

  • id

    字串

    此 ID 應來自 management.ExtensionInfo 項目的 ID。

  • 已啟用

    boolean

    是否應啟用或停用這個項目。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

setLaunchType()

Promise
chrome.management.setLaunchType(
  id: string,
  launchType: LaunchType,
  callback?: function,
)

設定應用程式的啟動類型。

參數

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

uninstall()

Promise
chrome.management.uninstall(
  id: string,
  options?: UninstallOptions,
  callback?: function,
)

解除安裝目前安裝的應用程式或擴充功能。注意:當使用者無法解除安裝指定的擴充功能/應用程式時,此函式無法在受管理的環境中運作。如果解除安裝失敗 (例如使用者取消對話方塊),系統會拒絕保證要求,或呼叫回呼時設有 runtime.lastError

參數

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

uninstallSelf()

Promise
chrome.management.uninstallSelf(
  options?: UninstallOptions,
  callback?: function,
)

解除安裝呼叫擴充功能。注意:不必要求資訊清單中的「管理」權限,即可使用這個函式。不允許使用者解除安裝指定的擴充功能/應用程式時,這個函式無法在受管理的環境中運作。

參數

  • 選項
  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 88 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

活動

onDisabled

chrome.management.onDisabled.addListener(
  callback: function,
)

停用應用程式或擴充功能時觸發。

參數

onEnabled

chrome.management.onEnabled.addListener(
  callback: function,
)

在已啟用應用程式或擴充功能時觸發。

參數

onInstalled

chrome.management.onInstalled.addListener(
  callback: function,
)

安裝應用程式或擴充功能時觸發。

參數

onUninstalled

chrome.management.onUninstalled.addListener(
  callback: function,
)

在使用者解除安裝應用程式或擴充功能時觸發。

參數

  • 回呼

    功能

    callback 參數如下所示:

    (id: string)=>void

    • id

      字串