userScripts (Legacy)

警告:這是已棄用的 userScripts API 的文件。它在 Manifest V2 的 Firefox 中可用。有關在 Manifest V3 中支援使用者指令碼的功能,請參閱新的 userScripts API。

使用此 API 註冊使用者指令碼,這些使用者指令碼是用於操作網頁或提供新功能的第三方指令碼。註冊使用者指令碼會指示瀏覽器將指令碼附加到在註冊期間指定的 URL 模式匹配的頁面。

此 API 提供與 contentScripts 類似的功能,但具有處理第三方指令碼的特色功能。

  • 執行在隔離沙箱中進行:每個使用者指令碼都在 Web 內容程序內的隔離沙箱中執行,防止指令碼之間發生意外或故意的干擾。
  • 可以訪問與使用者指令碼附加到的網頁相關的 windowdocument 全域性值。
  • 無法訪問 WebExtension API 或擴充套件授予的相關許可權:API 指令碼(繼承擴充套件的許可權)可以向註冊的使用者指令碼提供打包的 WebExtension API。API 指令碼使用 "user_scripts" manifest 鍵在擴充套件的 manifest 檔案中宣告。

警告: 此 API 需要 manifest.json 中存在 user_scripts 鍵,即使未指定 API 指令碼。例如:user_scripts: {}

要使用此 API,請呼叫 register() 並傳入一個定義要註冊的指令碼的物件。該方法返回一個 Promise,解析為一個 RegisteredUserScript 物件。

注意: 使用者指令碼在相關的擴充套件頁面(從中註冊使用者指令碼)解除安裝時會被取消註冊,因此您應該從至少與您希望使用者指令碼保持註冊狀態一樣長的擴充套件頁面註冊使用者指令碼。

型別

userScripts.RegisteredUserScript

register() 方法返回的 object。它代表已註冊的使用者指令碼,用於取消註冊使用者指令碼。

userScripts.UserScriptOptions

傳遞給 register() 方法的 object。它代表要註冊的內容指令碼。

方法

userScripts.register()

註冊使用者指令碼。

事件

userScripts.onBeforeScript

API 指令碼中可用的事件,在 "user_scripts" 中註冊,在使用者指令碼執行之前執行。使用它來觸發 API 指令碼提供的附加 API 的匯出,以便使用者指令碼可以使用它們。

瀏覽器相容性

另見