scripting

向网站中注入 JavaScript 与 CSS。该 API 提供了两种注入内容的方法:

备注: 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()

注销一个或多个内容脚本。

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
scripting
ExecutionWorld
ExecutionWorld.ISOLATED
ExecutionWorld.MAIN
InjectionTarget
RegisteredContentScript
RegisteredContentScript.matchOriginAsFallback
RegisteredContentScript.persistAcrossSessions
RegisteredContentScript.world
executeScript
executeScript.InjectionResult
InjectionResult.error
InjectionResult.frameId
InjectionResult.result
executeScript.injectImmediately
executeScript.world
world.ISOLATED
world.MAIN
getRegisteredContentScripts
insertCSS
insertCSS.origin
registerContentScripts
removeCSS
removeCSS.origin
unregisterContentScripts
updateContentScripts

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

备注: 该 API 基于 Chromium 的 chrome.scripting API。