说明
chrome.extensionTypes
API 包含 Chrome 扩展程序的类型声明。
类型
ColorArray
类型
[number, number, number, number]
枚举
"author"
"user"
DeleteInjectionDetails
要移除的 CSS 的详细信息。必须设置代码或文件属性,但不能同时设置这两者。
属性
-
allFrames
布尔值(可选)
如果 allFrames 为
true
,则表示应从当前网页的所有框架中移除 CSS。默认情况下,该值为false
,并且只会从顶部框架中移除。如果设置了true
和frameId
,系统会从所选帧及其所有子帧中移除代码。 -
代码
字符串(选填)
要移除的 CSS 代码。
-
cssOrigin
CSSOrigin(可选)
要移除的 CSS 的来源。默认设置为
"author"
。 -
文件
字符串(选填)
要移除的 CSS 文件。
-
frameId
number 可选
应从中移除 CSS 的框架。默认为 0(顶级帧)。
-
matchAboutBlank
布尔值(可选)
如果 matchAboutBlank 为 true,并且您的扩展程序有权访问其父文档,则系统还会从 about:blank 和 about:srcdoc 帧中移除该代码。默认情况下为
false
。
DocumentLifecycle
帧的文档生命周期。
枚举
"prerender"
"active"
"cached"
"pending_deletion"
ExecutionWorld
脚本在其中执行的 JavaScript 环境。可以是此扩展程序特有的隔离世界,与网页的 JavaScript 共享的 DOM 的主世界,也可以是仅适用于通过 User Scripts API 注册的脚本的用户脚本世界。
枚举
"ISOLATED"
"MAIN"
"USER_SCRIPT"
FrameType
帧的类型。
枚举
"outermost_frame"
"fenced_frame"
"sub_frame"
ImageDataType
图片的像素数据。必须是 ImageData 对象;例如,来自 canvas
元素。
类型
ImageData
ImageDetails
有关图片格式和质量的详细信息。
属性
-
格式
ImageFormat(可选)
生成图片的格式。默认值为
"jpeg"
。 -
quality
number 可选
当格式为
"jpeg"
时,用于控制生成图片的质量。对于 PNG 图片,系统会忽略此值。画质越低,生成的图片中视觉伪影就越多,而存储该图片所需的字节数会减少。
ImageFormat
图片的格式。
枚举
"jpeg"
"png"
InjectDetails
要注入的脚本或 CSS 的详细信息。必须设置代码或文件属性,但不能同时设置这两者。
属性
-
allFrames
布尔值(可选)
如果 allFrames 为
true
,则表示应将 JavaScript 或 CSS 注入当前网页的所有框架。默认情况下,它为false
,并且仅注入到顶部帧。如果设置了true
和frameId
,则系统会在所选帧及其所有子帧中插入代码。 -
代码
字符串(选填)
要注入的 JavaScript 或 CSS 代码。
警告:请谨慎使用
code
参数。如果使用不当,可能会使您的扩展程序遭到跨站脚本攻击 -
cssOrigin
CSSOrigin(可选)
Chrome 66 及更高版本要注入的 CSS 的来源。此属性只能针对 CSS 指定,而不能针对 JavaScript 指定。默认设置为
"author"
。 -
文件
字符串(选填)
要注入的 JavaScript 或 CSS 文件。
-
frameId
number 可选
Chrome 50+应注入脚本或 CSS 的帧。默认为 0(顶级帧)。
-
matchAboutBlank
布尔值(可选)
如果 matchAboutBlank 为 true,并且您的扩展程序有权访问其父文档,则系统还会在 about:blank 和 about:srcdoc 帧中注入代码。无法在顶级 about:-frame 中插入代码。默认情况下为
false
。 -
runAt
RunAt(可选)
JavaScript 或 CSS 最早会注入到标签页中的时间。默认值为“document_idle”。
RunAt
JavaScript 或 CSS 最早会注入到标签页中的时间。
枚举
"document_start"
脚本会在 css 中的所有文件之后注入,但在构建任何其他 DOM 或运行任何其他脚本之前。
"document_end"
脚本会在 DOM 完成后立即注入,但在图片和帧等子资源加载之前。
"document_idle"
浏览器会在“document_end”和 window.onload
事件触发后立即之间选择时间来注入脚本。注入的确切时间取决于文档的复杂程度和加载所需的时间,并会针对网页加载速度进行优化。在“document_idle”时运行的内容脚本无需监听 window.onload
事件;它们保证会在 DOM 完成后运行。如果脚本确实需要在 window.onload
之后运行,扩展程序可以使用 document.readyState
属性检查 onload
是否已触发。