chrome.extension

說明

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

類型

ViewType

Chrome 44 以上版本

額外資訊檢視畫面的類型。

列舉

屬性

inIncognitoContext

如果是在無痕分頁中執行的內容指令碼,以及以無痕模式程序執行的擴充功能網頁,則為 True。後者僅適用於含有「分割」無痕_behavior 的擴充功能。

類型

boolean

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「視窗」物件的陣列。如果指定 windowId,則只會傳回指定視窗上分頁的「視窗」物件。

參數

  • windowId

    數字 選填

傳回

  • 視窗 []

    全域視窗物件的陣列

getURL()

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

請使用 runtime.getURL

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

參數

  • path

    字串

    擴充功能中資源路徑,相對於安裝目錄。

傳回

  • 字串

    資源的完整網址。

getViews()

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

為目前擴充功能內執行的每一個網頁傳回 JavaScript「視窗」物件的陣列。

參數

  • fetchProperties

    物件選用

    • tabId

      數字 選填

      Chrome 54 以上版本

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

    • 類型

      ViewType 選用

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

    • windowId

      數字 選填

      搜尋範圍限制。省略時,系統會傳回所有檢視畫面。

傳回

  • 視窗 []

    全域物件的陣列

isAllowedFileSchemeAccess()

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

擷取擴充功能對「file://」配置的狀態。這相當於使用者可從 chrome://extensions 頁面存取控制的「允許存取檔案網址」設定。

參數

  • 回呼

    函式選用

    callback 參數如下所示:

    (isAllowedAccess: boolean)=>void

    • isAllowedAccess

      boolean

      如果擴充功能可以存取「file://」配置,則為「true」,否則傳回 false。

傳回

  • Promise<boolean>

    Chrome 99 以上版本

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

isAllowedIncognitoAccess()

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

擷取擴充功能的無痕模式存取權狀態。也就是使用者從 chrome://extensions 頁面存取控制的個別擴充功能「允許在無痕模式中執行」設定。

參數

  • 回呼

    函式選用

    callback 參數如下所示:

    (isAllowedAccess: boolean)=>void

    • isAllowedAccess

      boolean

      如果擴充功能可存取無痕模式,傳回 True,否則傳回 False。

傳回

  • Promise<boolean>

    Chrome 99 以上版本

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

sendRequest()

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

請使用 runtime.sendMessage

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

參數

  • extensionId

    字串 選用

    您要連結的擴充功能 ID。如果省略,系統會依預設建立你的擴充功能。

  • 申請。

    不限

  • 回呼

    函式選用

    Chrome 99 以上版本

    callback 參數如下所示:

    (response: any)=>void

    • 則回應

      不限

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

傳回

  • 承諾<任何>

    Chrome 99 以上版本

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

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)

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

參數

  • 資料或曾存取這類資料的人員

    字串

活動

onRequest

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

請使用 runtime.onMessage

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

參數

  • 回呼

    功能

    callback 參數如下所示:

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

    • 申請。

      不限

    • sendResponse

      功能

      sendResponse 參數如下所示:

      ()=>void

onRequestExternal

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

請使用 runtime.onMessageExternal

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

參數

  • 回呼

    功能

    callback 參數如下所示:

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

    • 申請。

      不限

    • sendResponse

      功能

      sendResponse 參數如下所示:

      ()=>void