Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析

简介: Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析

一、类型(Types

一、OpenPopupOptions

1. 属性

  • windowId: number 可选
    • 打开操作弹出式窗口的窗口 ID。如果未指定,则默认为当前活动窗口。

二、TabDetails

1. 属性

  • tabId: number 可选
    • 要查询其状态的标签页 ID。如果未指定标签页,则返回非标签页专属状态。

三、UserSettings

与扩展程序操作相关的用户指定设置的集合。

1. 属性

  • isOnToolbar: boolean
    • 扩展程序的操作图标是否显示在浏览器窗口的顶级工具栏中(例如,用户是否已“固定”扩展程序)。

二、方法(Methods

一、disable()

停用标签页操作。

1. 示例

chrome.action.disable(
  tabId?: number,
  callback?: function,
)

2. 参数

  • tabId: number 可选
    • 要为其修改操作的标签页的 ID
  • callback: function(可选)
    • callback 参数如下所示:
()=>void

3. 返回

  • Promise<void>

二、enable()

为标签页启用操作。默认情况下,操作处于启用状态。

1. 示例

chrome.action.enable(
  tabId?: number,
  callback?: function,
)

2. 参数

  • tabId: number 可选
    • 要为其修改操作的标签页的 ID
  • callback: function(可选)
    • callback 参数如下所示
()=>void

3. 返回

  • Promise<void>

三、getBadgeBackgroundColor()

获取操作的背景颜色。

1. 示例

chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

2. 参数

  • details: TabDetails
  • callback function(可选)
    • callback 参数如下所示
(result:ColorArray)=>void

3. 返回

四、getBadgeText()

获取操作的标记文本。

如果未指定标签页,则返回非标签页专用标志文本。如果启用了 displayActionCountAsBadgeText,则系统将返回占位符文本,除非存在 declarativeNetRequestFeedback 权限或提供了标签页专用的标记文本。

1. 示例

chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

2. 参数

  • details: TabDetails
  • callback: function(可选)
    • callback 参数如下所示:
(result: string)=>void

3. 返回

  • Promise<string>

五、getBadgeTextColor()

获取操作的文本颜色。

1. 示例

chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

2. 参数

  • details: TabDetails
  • callback functioon(可选)
    • callback 参数如下所示:
(result: ColorArray)=>void

3. 返回

六、getPopup()

获取设置为此操作的弹出式窗口的 HTML 文档。

1. 示例

chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

2. 参数

  • details: TabDetails
  • callback function(可选)
    • callback 参数如下所示:
(result:string)=>void

3. 返回

  • Promise<string>

七、getTitle()

获取操作的标题。

1. 示例

chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

2. 参数

  • details: TabDetails
  • callback: function(可选)
    • callback 参数如下所示:
(result: string)=>void

3. 返回

  • Promise<string>

八、getUserSettings()

返回与扩展程序操作相关的用户指定设置。

1. 示例

chrome.action.getUserSettings(
  callback?: function,
)

2. 参数

  • callback: function(可选)
    • callback 参数如下所示:
(userSettings: UserSettings)=>void

3. 返回

九、isEnabled()

指示是否已为标签页启用扩展程序操作(如果未提供 tabId,则是在全局范围内启用)。仅使用 declarativeContent 启用的操作始终返回 false。

1. 示例

chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

2. 参数

  • tabId: number 可选
    • 要检查其启用状态的标签页的 ID
  • callback: function(可选)
    • callback 参数如下所示:
(isEnabled: boolean)=>void

3. 返回

  • Promise<boolean>

十、openPopup()

打开扩展程序的弹出式窗口。

1. 示例

chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

2. 参数

  • options: OpenPopupOptions 可选
    • 指定用于打开弹出式窗口的选项。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十一、setBadgeBackgroundColor()

设置标志的背景颜色。

1. 示例

chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • color: string|ColorArray
      • ColorArray一个由 [0,255] 范围内的四个整数组成的数组,这些整数构成了徽章的 RGBA 颜色。例如,不透明的红色为 [255, 0, 0, 255]。也可以是具有 CSS 值的字符串,其中不透明红色为 #FF0000#F00
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十二、setBadgeText()

设置操作的标记文本。标记会显示在图标顶部。

1. 示例

chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
    • text: string(可选)
      • 可以传递任意数量的字符,但不得超过四个字符。如果传递了空字符串 (''),标志文本将被清除。如果指定了 tabIdtextnull,指定标签页的文本将会被清除,并默认为全局标记文本。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十三、setBadgeTextColor()

设置标志的文本颜色。

1. 示例

chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • color: string|ColorArray
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十四、setIcon()

设置操作的图标。

可将图标指定为图像文件的路径、画布元素的像素数据或上述任何一项的字典。必须指定 pathimageData 属性。

1. 示例

chrome.action.setIcon(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • imageData: ImageData | object(可选)
      • ImageData 对象或表示要设置的图标的 { size -> ImageData} 字典。如果将图标指定为字典,则系统会根据屏幕的像素密度选择要使用的实际图片。如果适合一个屏幕空间单位的图片像素数等于 scale,则系统会选择尺寸为 scale * n 的图片,其中 n 是界面中图标的尺寸。必须至少指定一张图片。请注意,"details.imageData = foo" 等同于 "details.imageData = {'16': foo}"
    • path: string|object **可选**
      • 相对图片路径或指向要设置的图标的字典 { size -> relative image path}。
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十五、setPopup()

设置 HTML 文档,使其在用户点击操作的图标时以弹出式窗口的形式打开。

1. 示例

chrome.action.setPopup(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • popup: string
      • 要在弹出式窗口中显示的 HTML 文件的相对路径。如果设置为空字符串 (''),系统不会显示弹出式窗口。
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
  • callback: function(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

十六、setTitle()

设置操作的标题。这会显示在提示中。

1. 示例

chrome.action.setTitle(
  details: object,
  callback?: function,
)

2. 参数

  • details: object
    • tabId: number 可选
      • 将更改限制为选择特定标签页的时间。关闭标签页后自动重置。
    • title: string
      • 鼠标悬停时,操作应显示的字符串。
  • callback: funtion(可选)
    • callback 参数如下所示:()=>void

3. 返回

  • Promise<void>

三、事件(Events

一、onClicked

点击操作图标时触发。

如果操作具有弹出式窗口,则不会触发此事件。

1. 示例

chrome.action.onClicked.addListener(
  callback: function,
)

2. 参数

  • callback: function
    • callback 参数如下所示:
(tab: tabs.Tab)=>void

引用

目录
相关文章
|
8月前
|
JSON IDE Java
鸿蒙开发:json转对象插件回来了
首先,我重新编译了插件,进行了上传,大家可以下载最新的安装包进行体验了,还是和以前一样,提供了在线版和IDE插件版,两个选择,最新的版本,除了升级了版本,兼容了最新的DevEco Studio ,还做了一层优化,就是针对嵌套对象和属性的生成,使用方式呢,一年前的文章中有过详细的概述,这里呢也简单介绍一下。
276 4
鸿蒙开发:json转对象插件回来了
|
监控 安全 网络安全
深入解析PDCERF:网络安全应急响应的六阶段方法
PDCERF是网络安全应急响应的六阶段方法,涵盖准备、检测、抑制、根除、恢复和跟进。本文详细解析各阶段目标与操作步骤,并附图例,助读者理解与应用,提升组织应对安全事件的能力。
1948 89
|
12月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
825 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
11月前
|
JSON 监控 网络协议
Bilibili直播信息流:连接方法与数据解析
本文详细介绍了自行实现B站直播WebSocket连接的完整流程。解析了基于WebSocket的应用层协议结构,涵盖认证包构建、心跳机制维护及数据包解析步骤,为开发者定制直播数据监控提供了完整技术方案。
1091 9
|
11月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
341 1
|
11月前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
438 5
|
12月前
|
Java API 数据处理
深潜数据海洋:Java文件读写全面解析与实战指南
通过本文的详细解析与实战示例,您可以系统地掌握Java中各种文件读写操作,从基本的读写到高效的NIO操作,再到文件复制、移动和删除。希望这些内容能够帮助您在实际项目中处理文件数据,提高开发效率和代码质量。
347 4
|
Serverless 对象存储 人工智能
智能文件解析:体验阿里云多模态信息提取解决方案
在当今数据驱动的时代,信息的获取和处理效率直接影响着企业决策的速度和质量。然而,面对日益多样化的文件格式(文本、图像、音频、视频),传统的处理方法显然已经无法满足需求。
481 4
智能文件解析:体验阿里云多模态信息提取解决方案
|
人工智能 监控 数据可视化
提升开发效率:看板方法的全面解析
随着软件开发复杂度提升,并行开发模式下面临资源分配不均、信息传递延迟及缺乏全局视图等瓶颈问题。看板工具通过任务状态实时可视化、流量效率监控和任务依赖管理,帮助团队直观展示和解决这些瓶颈。未来,结合AI预测和自动化优化,看板工具将更高效地支持并行开发,成为驱动协作与创新的核心支柱。
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
332 63

推荐镜像

更多
  • DNS