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。