chrome.extension

說明

chrome.extension API 的公用程式可供任何擴充功能頁面使用。包括支援在擴充功能和內容指令碼之間交換訊息,或跨擴充功能交換訊息,詳情請參閱訊息傳遞

類型

ViewType

Chrome 44 以上版本

擴充功能檢視畫面的類型。

列舉

「分頁」

彈出式視窗

屬性

inIncognitoContext

對於在無痕式分頁中執行的內容指令碼,以及透過無痕模式執行的擴充功能頁面,則為 true。後者僅適用於設有「Split」的擴充功能families_behavior

類型

布林值

lastError

≤MV2 自 Chrome 58 版起已淘汰

請使用 runtime.lastError

為非同步擴充功能 API 導致錯誤時,設定回呼的生命週期。如果沒有任何錯誤發生,則 lastError 為 undefined

類型

物件

屬性

  • 訊息

    字串

    已發生的錯誤說明。

方法

getBackgroundPage()

僅限前景
chrome.extension.getBackgroundPage()

傳回 JavaScript 的「視窗」物件,用於表示目前擴充功能中執行的背景頁面。如果擴充功能沒有背景頁面,則傳回空值。

傳回

  • 視窗 |未定義

getExtensionTabs()

≤MV2 僅限前景 已淘汰
chrome.extension.getExtensionTabs(
  windowId?: number,
)

請使用 extension.getViews {type: "tab"}

傳回 JavaScript「window」陣列物件。如果指定 windowId,則只會傳回「window」附加至指定視窗的分頁物件

參數

  • windowId

    編號 選填

傳回

  • 窗戶 []

    全域視窗物件陣列

getURL()

≤MV2 自 Chrome 58 版起已淘汰
chrome.extension.getURL(
  path: string,
)

請使用 runtime.getURL

將擴充功能安裝目錄中的相對路徑轉換為完整網址。

參數

  • 路徑

    字串

    擴充功能內的資源路徑,以其安裝目錄表示。

傳回

  • 字串

    資源的完整網址。

getViews()

僅限前景
chrome.extension.getViews(
  fetchProperties?: object,
)

傳回 JavaScript「window」陣列物件。

參數

  • fetchProperties

    物件 optional

    • tabId

      編號 選填

      Chrome 54 以上版本

      根據分頁 ID 尋找檢視畫面。如果省略這個欄位,則會傳回所有檢視畫面。

    • 類型

      ViewType 選用

      要取得的檢視畫面類型。如果省略此標記,則傳回所有檢視畫面 (包括背景頁面和分頁)。

    • windowId

      編號 選填

      限制搜尋範圍的視窗。省略時,則傳回所有檢視畫面。

傳回

  • 窗戶 []

    全域物件陣列

isAllowedFileSchemeAccess()

Promise
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)

擷取擴充功能存取「file://」的狀態配置。這與由使用者控制的個別擴充功能「允許存取檔案網址」相對應您可透過 chrome://extensions 頁面存取設定。

參數

  • 回呼

    函式 選用

    callback 參數如下所示:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      布林值

      如果擴充功能可以存取「file://」,則為「是」通訊協定,否則傳回 false。

傳回

  • Promise<boolean>

    Chrome 99 以上版本

    Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。

isAllowedIncognitoAccess()

Promise
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)

擷取擴充功能在無痕模式下存取的狀態。這與由使用者控管的個別擴充功能「允許在無痕模式中執行」對應您可透過 chrome://extensions 頁面存取設定。

參數

  • 回呼

    函式 選用

    callback 參數如下所示:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      布林值

      如果擴充功能可存取無痕模式,傳回「是」,否則傳回「否」。

傳回

  • Promise<boolean>

    Chrome 99 以上版本

    Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。

sendRequest()

Promise ≤MV2 已淘汰
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)

請使用 runtime.sendMessage

向擴充功能內的其他事件監聽器傳送單一要求。與 runtime.connect 類似,但只會傳送含有選用回應的單一要求。系統會在擴充功能的每個頁面上觸發 extension.onRequest 事件。

參數

  • extensionId

    string optional

    您要連結的擴充功能 ID。如果省略此引數,系統會使用您自己的擴充功能。

  • 申請。

    不限

  • 回呼

    函式 選用

    Chrome 99 以上版本

    callback 參數如下所示:

    (response: any) => void

    • 回應

      不限

      由要求處理常式傳送的 JSON 回應物件。如果連線至擴充功能時發生錯誤,呼叫回呼時不會使用引數,且 runtime.lastError 會設為錯誤訊息。

傳回

  • 承諾<任何>

    Chrome 99 以上版本

    Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)

設定擴充功能更新網址中使用的 ap CGI 參數值。對於由 Chrome 擴充功能庫代管的擴充功能,系統會忽略這個值。

參數

  • 資料

    字串

活動

onRequest

&amp;leq;MV2 已淘汰
chrome.extension.onRequest.addListener(
  callback: function,
)

請使用 runtime.onMessage

透過擴充功能程序或內容指令碼傳送要求時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • 申請。

      不限

    • sendResponse

      函式

      sendResponse 參數如下所示:

      () => void

onRequestExternal

&amp;leq;MV2 已淘汰
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

請使用 runtime.onMessageExternal

從其他擴充功能傳送要求時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • 申請。

      不限

    • sendResponse

      函式

      sendResponse 參數如下所示:

      () => void