userScripts
使用此 API 注册用户脚本,用户脚本是旨在操作网页或提供新功能的第三方脚本。注册用户脚本会指示浏览器将脚本附加到与注册期间指定的 URL 模式匹配的页面。
注意: 这是对旧版 API 版本的文档,可在 Firefox 的清单 V2 中使用。已设计了一个新 API,请参阅 WECG 问题 279。此新版 API 将在 Firefox 中提供,用于清单 V3。开发情况在 Firefox 错误 1875475 中跟踪。Chrome 包含 新 API 的实现。同时,在使用清单 V3 或更高版本时,使用 scripting.registerContentScripts()
来注册脚本。
此 API 提供与 contentScripts
类似的功能,但具有适合处理第三方脚本的功能
- 在隔离的沙箱中执行:每个用户脚本都在 Web 内容进程内的隔离沙箱中运行,防止脚本之间发生意外或故意的干扰。
- 访问与用户脚本附加到的网页相关的
window
和document
全局值。 - 无法访问 WebExtension API 或扩展授予的相关权限:API 脚本(继承扩展的权限)可以向注册的用户脚本提供打包的 WebExtension API。API 脚本在扩展的清单文件中使用“user_scripts”清单键声明。
警告: 此 API 需要在 manifest.json 中存在 user_scripts
键,即使未指定 API 脚本也是如此。例如,user_scripts: {}
。
要使用此 API,请调用
并传入一个对象,该对象定义要注册的脚本。此方法返回一个 Promise,该 Promise 将解析为 register()
对象。RegisteredUserScript
注意: 当相关扩展页面(从中注册了用户脚本)卸载时,用户脚本将被注销,因此您应该从至少持续到您希望用户脚本保持注册时间的扩展页面注册用户脚本。
类型
userScripts.RegisteredUserScript
-
方法返回的register()
对象
。它表示注册的用户脚本,用于注销用户脚本。
方法
userScripts.register()
-
注册用户脚本。
事件
userScripts.onBeforeScript
-
在
"user_scripts"
中注册的 API 脚本可用的事件,在用户脚本执行之前执行。使用它来触发 API 脚本提供的其他 API 的导出,以便它们可供用户脚本使用。
浏览器兼容性
BCD 表仅在浏览器中加载