user_scripts
警告:此鍵由舊的 userScripts API 使用,該 API 可供使用 Manifest V2 的擴充套件程式使用。對於可用於 Manifest V3 的 userScripts API 版本,不需要此鍵。
| 型別 | Object |
|---|---|
| 必填 | 否 |
| Manifest 版本 | 2 |
| 示例 |
json |
指示瀏覽器載入擴充套件程式中打包的指令碼,稱為 API 指令碼。此指令碼用於匯出可供使用者指令碼使用的一組自定義 API 方法。API 指令碼路徑(相對於 manifest.json 檔案)在 "api_script" 中定義為 string。
注意:即使未指定 API 指令碼,user_script 鍵也是 userScripts API 正常執行所必需的。例如:user_scripts: {}。
API 指令碼
- 在內容程序中執行。
- 可以訪問與其所附加的網頁相關的 window 和 document 全域性變數。
- 可以訪問通常在內容指令碼中可用的 WebExtension API 的相同子集。
指令碼由 userScripts.register() 在 matches 中定義的任何網頁上自動執行。但是,這是在建立使用者指令碼沙箱物件以及匯出自定義 API 方法之前。
要匯出自定義 API 方法,指令碼會監聽 userScripts.onBeforeScript,然後匯出自定義 API 方法。
並非每個使用者指令碼都需要使用所有自定義 API 方法。因此,您可以在執行 userScripts.register() 時,在 scriptMetadata 中包含所需 API 的詳細資訊。然後,API 指令碼透過 userScripts.onBeforeScript 監聽器收到的 script 引數(作為 script.metadata)訪問 scriptMetadata。