說明
chrome.management API 提供管理已安裝應用程式和擴充功能的方法。
權限
management如要使用管理 API,必須在擴充功能資訊清單中聲明「管理」權限。例如:
{
  "name": "My extension",
  ...
  "permissions": [
    "management"
  ],
  ...
}
management.getPermissionWarningsByManifest()、management.uninstallSelf() 和 management.getSelf() 不需要管理權限。
類型
ExtensionDisabledReason
項目遭停用的原因。
列舉
「unknown」 
 
「permissions_increase」 
 
ExtensionInfo
已安裝的擴充功能、應用程式或主題相關資訊。
屬性
- 
    appLaunchUrl字串 選填 發布網址 (僅適用於應用程式)。 
- 
    availableLaunchTypesLaunchType[] 選用 目前可用的啟動類型 (僅適用於應用程式)。 
- 
    說明字串 這個擴充功能、應用程式或主題的說明。 
- 
    disabledReason項目遭停用的原因。 
- 
    已啟用布林值 目前是否已啟用或停用。 
- 
    homepageUrl字串 選填 這個擴充功能、應用程式或主題的首頁網址。 
- 
    hostPermissionsstring[] 傳回以主機為準的權限清單。 
- 
    圖示IconInfo[] optional 圖示資訊清單。請注意,這只會反映資訊清單中宣告的內容,該網址的實際圖片可能大於或小於宣告的內容,因此您可能會考慮在參照這些圖片的 img 標記上使用明確的寬度和高度屬性。詳情請參閱圖示的資訊清單說明文件。 
- 
    id字串 擴充功能的專屬 ID。 
- 
    installType擴充功能的安裝方式。 
- 
    isApp布林值 已淘汰請使用 management.ExtensionInfo.type。如果這是應用程式,則為 true。 
- 
    launchTypeLaunchType optional 應用程式啟動類型 (僅適用於應用程式)。 
- 
    mayDisable布林值 使用者是否可以停用或解除安裝這項擴充功能。 
- 
    mayEnable布林值 選填 Chrome 62 以上版本使用者是否可以啟用這項擴充功能。只有未啟用的擴充功能才會傳回這項資訊。 
- 
    名稱字串 這個擴充功能、應用程式或主題的名稱。 
- 
    offlineEnabled布林值 擴充功能、應用程式或主題是否聲明支援離線功能。 
- 
    optionsUrl字串 商品選項頁面的網址 (如有)。 
- 
    權限string[] 傳回以 API 為準的權限清單。 
- 
    shortName字串 這個擴充功能、應用程式或主題的簡短名稱。 
- 
    這項擴充功能、應用程式或主題的類型。 
- 
    updateUrl字串 選填 這個擴充功能、應用程式或主題的更新網址。 
- 
    版本字串 這個擴充功能、應用程式或主題的版本。 
- 
    versionName字串 選填 Chrome 50 以上版本如果資訊清單指定了這個擴充功能、應用程式或主題的版本名稱。 
ExtensionInstallType
擴充功能的安裝方式。其中一個原因:
admin:擴充功能是因管理政策而安裝。
development:擴充功能是在開發人員模式下載入未封裝的檔案。
normal:擴充功能是透過 .crx 檔案正常安裝。
sideload:擴充功能是由電腦上的其他軟體安裝。
other:擴充功能是透過其他方式安裝。
列舉
「admin」 
 
「development」 
 
「normal」 
 
「sideload」 
 
「other」 
 
ExtensionType
這項擴充功能、應用程式或主題的類型。
列舉
「extension」 
 
"hosted_app" 
 
"packaged_app" 
 
「legacy_packaged_app」 
 
「theme」 
 
"login_screen_extension" 
 
IconInfo
擴充功能、應用程式或主題的圖示相關資訊。
屬性
- 
    大小數字 代表圖示寬度和高度的數字。可能的值包括 (但不限於) 128、48、24 和 16。 
- 
    網址字串 這個圖示圖片的網址。如要顯示灰階版本的圖示 (例如指出擴充功能已停用),請在網址中附加 ?grayscale=true。
LaunchType
這些都是可能的應用程式啟動類型。
列舉
"OPEN_AS_REGULAR_TAB" 
 
"OPEN_AS_PINNED_TAB" 
 
「OPEN_AS_WINDOW」 
 
「OPEN_FULL_SCREEN」 
 
UninstallOptions
處理擴充功能解除安裝作業的選項。
屬性
- 
    showConfirmDialog布林值 選填 是否要向使用者顯示確認解除安裝對話方塊。如果是自行解除安裝,預設值為 false。如果擴充功能解除安裝其他擴充功能,系統會忽略這個參數,並一律顯示對話方塊。 
方法
createAppShortcut()
chrome.management.createAppShortcut(
id: string,
): Promise<void>
顯示建立應用程式捷徑的選項。在 Mac 上,只能建立封裝應用程式捷徑。
參數
- 
    id字串 這應是 management.ExtensionInfo應用程式項目的 ID。
傳回
- 
            Promise<void> Chrome 88 以上版本
generateAppForLink()
chrome.management.generateAppForLink(
url: string,
title: string,
): Promise<ExtensionInfo>
為網址產生應用程式。傳回產生的書籤應用程式。
參數
- 
    網址字串 網頁的網址。網址架構只能是「http」或「https」。 
- 
    title字串 產生的應用程式名稱。 
傳回
- 
            Promise<ExtensionInfo> Chrome 88 以上版本
參數
- 
    id字串 management.ExtensionInfo項目中的 ID。
傳回
- 
            Promise<ExtensionInfo> Chrome 88 以上版本
傳回
- 
            Promise<ExtensionInfo[]> Chrome 88 以上版本
getPermissionWarningsById()
chrome.management.getPermissionWarningsById(
id: string,
): Promise<string[]>
傳回指定擴充功能 ID 的權限警告清單。
參數
- 
    id字串 已安裝擴充功能的 ID。 
傳回
- 
            Promise<string[]> Chrome 88 以上版本
getPermissionWarningsByManifest()
chrome.management.getPermissionWarningsByManifest(
manifestStr: string,
): Promise<string[]>
傳回指定擴充功能資訊清單字串的權限警告清單。注意:使用這項功能時,不必在資訊清單中要求「管理」權限。
參數
- 
    manifestStr字串 擴充功能資訊清單 JSON 字串。 
傳回
- 
            Promise<string[]> Chrome 88 以上版本
getSelf()
chrome.management.getSelf(): Promise<ExtensionInfo>
傳回有關呼叫擴充功能、應用程式或主題的資訊。注意:使用這項功能時,不必在資訊清單中要求「管理」權限。
傳回
- 
            Promise<ExtensionInfo> Chrome 88 以上版本
installReplacementWebApp()
chrome.management.installReplacementWebApp(): Promise<void>
啟動資訊清單中指定的 replacement_web_app。如果使用者尚未安裝,系統會提示安裝。
傳回
- 
            Promise<void> Chrome 88 以上版本
launchApp()
chrome.management.launchApp(
id: string,
): Promise<void>
啟動應用程式。
參數
- 
    id字串 應用程式的擴充功能 ID。 
傳回
- 
            Promise<void> Chrome 88 以上版本
setEnabled()
chrome.management.setEnabled(
id: string,
enabled: boolean,
): Promise<void>
啟用或停用應用程式或擴充功能。在大多數情況下,這個函式必須在使用者手勢 (例如按鈕的 onclick 處理常式) 的環境中呼叫,且可能會向使用者顯示原生確認 UI,以防止濫用。
參數
- 
    id字串 這應為 management.ExtensionInfo項目中的 ID。
- 
    已啟用布林值 是否啟用或停用這個項目。 
傳回
- 
            Promise<void> Chrome 88 以上版本
setLaunchType()
chrome.management.setLaunchType(
id: string,
launchType: LaunchType,
): Promise<void>
設定應用程式的啟動類型。
參數
- 
    id字串 這應是 management.ExtensionInfo應用程式項目的 ID。
- 
    launchType目標啟動類型。請務必檢查並確認啟動類型為 ExtensionInfo.availableLaunchTypes,因為不同平台和設定可用的啟動類型有所不同。
傳回
- 
            Promise<void> Chrome 88 以上版本
uninstall()
chrome.management.uninstall(
id: string,
options?: UninstallOptions,
): Promise<void>
解除安裝目前安裝的應用程式或擴充功能。注意:如果使用者無法解除安裝指定擴充功能/應用程式,這項函式在受管理環境中將無法運作。如果解除安裝失敗 (例如使用者取消對話方塊),承諾會遭到拒絕,或系統會呼叫回呼,並將 runtime.lastError 設為 true。
參數
- 
    id字串 這應為 management.ExtensionInfo項目中的 ID。
- 
    選項
傳回
- 
            Promise<void> Chrome 88 以上版本
uninstallSelf()
chrome.management.uninstallSelf(
options?: UninstallOptions,
): Promise<void>
解除安裝通話擴充功能。注意:使用這項功能時,不必在資訊清單中要求「管理」權限。如果使用者無法解除安裝指定擴充功能/應用程式,這項功能在受管理環境中就無法運作。
參數
- 
    選項
傳回
- 
            Promise<void> Chrome 88 以上版本
事件
onDisabled
chrome.management.onDisabled.addListener(
callback: function,
)
應用程式或擴充功能停用時觸發。
參數
- 
    callback函式 callback參數如下:(info: ExtensionInfo) => void 
onEnabled
chrome.management.onEnabled.addListener(
callback: function,
)
應用程式或擴充功能啟用時觸發。
參數
- 
    callback函式 callback參數如下:(info: ExtensionInfo) => void 
onInstalled
chrome.management.onInstalled.addListener(
callback: function,
)
應用程式或擴充功能安裝完成時觸發。
參數
- 
    callback函式 callback參數如下:(info: ExtensionInfo) => void 
onUninstalled
chrome.management.onUninstalled.addListener(
callback: function,
)
應用程式或擴充功能解除安裝時觸發。
參數
- 
    callback函式 callback參數如下:(id: string) => void - 
    id字串 
 
-