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

引用

目录
相关文章
|
1月前
|
JSON API 数据处理
Swagger动态参数注解:使用@DynamicParameters实现JSON参数的灵活定义
总结起来,通过使用SpringFox提供给我们工具箱里面非常有力量但又不太显眼工具———即使面对复杂多变、非标准化数据格式也能轻松驾驭它们———从而大大增强我们系统与外界沟通交流能力同时也保证系统内部数据处理逻辑清晰明确易于维护升级.
182 10
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
10月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
691 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
10月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
3595 2
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
9742 2
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
294 63
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
328 57
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
206 5
在浏览器执行js脚本的两种方式
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
1668 1

热门文章

最新文章

下一篇
oss云网关配置