scripting
向网站中注入 JavaScript 与 CSS。该 API 提供了两种注入内容的方法:
- 用于一次性注入的
scripting.executeScript()
、scripting.insertCSS()
和scripting.removeCSS()
方法。 - 用于用于动态注册内容脚本的
scripting.registerContentScripts()
方法,随后你将可以使用scripting.getRegisteredContentScripts()
获取、使用scripting.unregisterContentScripts()
注销注入的脚本。
备注: Chrome 限制该 API 仅在 Manifest V3 中可用。Firefox 和 Safari 在 Manifest V2 和 V3 中均支持该 API。
此 API 需要 "scripting"
权限以及要将 JavaScript 或 CSS 注入到的标签页目标的主机权限。
或者,你也可以通过请求 "activeTab"
权限临时地在活动标签页中获取权限,并且仅能在一个明确的用户操作的返回中使用该 API。不过你仍然需要 "scripting"
权限。
类型
scripting.ContentScriptFilter
-
指定通过
scripting.getRegisteredContentScripts()
检索或通过scripting.unregisterContentScripts()
注销的脚本的 ID。 scripting.ExecutionWorld
-
指定通过
scripting.executeScript()
注入或通过scripting.registerContentScripts()
注册的脚本的执行环境。 scripting.InjectionTarget
-
注入目标的详细信息。
scripting.RegisteredContentScript
-
需要注册或已注册的内容脚本的详细信息。
函数
scripting.executeScript()
-
将 JavaScript 代码注入页面。
scripting.getRegisteredContentScripts()
-
获取已注册的内容脚本的列表。
scripting.insertCSS()
-
将 CSS 注入页面。
scripting.registerContentScripts()
-
为未来的页面加载注册内容脚本。
scripting.removeCSS()
-
移除之前通过
scripting.insertCSS()
注入的 CSS。 scripting.updateContentScripts()
-
更新已注册的一个或多个内容脚本。
scripting.unregisterContentScripts()
-
注销一个或多个内容脚本。
浏览器兼容性
BCD tables only load in the browser
备注:
该 API 基于 Chromium 的 chrome.scripting
API。