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 的导出,以便用户脚本可以使用它们。

浏览器兼容性

另见