《智能前端技术与实践》——第 2 章 前端开发基础 ——2.5 与 Google 扩展程序相关的 JavaScript API

简介: 《智能前端技术与实践》——第 2 章 前端开发基础 ——2.5 与 Google 扩展程序相关的 JavaScript API

2.5 与 Google 扩展程序相关的 JavaScript API


Google Chrome 为扩展程序提供了许多专用 API,如 chrome.runtime 和 chrome.alarms。 chrome.*API 中的方法通常是异步的,调用后会立即返回结果而不需要等待操作完成,所以对 chrome.*API 的调用往往需要以一个回调函数作为参数以处理调用结果。当然,也有少量 chrome.*API 是同步调用的,这样的 chrome.*API 往往有一个返回类型,也无须使用回调函数 作为参数。


我们一般将 Chrome 提供的 API 分为稳定的 API(stable API)、测试版的 API(beta API), 以及开发中的 API(dev API)。本节将介绍与 Google 扩展程序相关的 JavaScript API。


1.chrome.browserAction


该 API 会将图标(icon)放在 Google Chrome 主工具栏的右侧,如图 2-24 所示。除图标之外, 还会有工具提示(tooltip)、徽章(badge)和弹出窗口。这些可以通过 getBadgeBackgroundColor()、 getBadgeText()、getPopup()、getTitle()等方法进行修改。在使用 chrome.browserAction 前,我们需 要在 manifest 文件中声明,如代码清单 2-19 所示。


代码清单 2-19


{
"name": "My extension",
..."browser_action": {
..."default_icon": "images/icon32.png"// optional// 等价于 "default_icon": { "32": "images/icon32.png" }},
...}

接下来,我们重点看一下如何监听扩展程序图标的 OnClicked 事件。OnClicked 事件的介绍如 图 2-25 所示。


addListener()方法以一个函数作为参数,用来处理当单击图标时需要完成的逻辑功能,比 如弹出界面等。


image.png


2.chrome.windows


使用该 API 可以与浏览器窗口交互,我们可以通过该 API 在浏览器中创建、修改或重新 排列窗口。在使用该 API 之前,我们需要在 manifest 文件中声明,如代码清单 2-20 所示。


代码清单 2-20


{
"name": "My extension",
..."permissions": ["tabs"],
...}

接着,我们看 windows.create()方法的介绍,如图 2-26 所示。


image.png


该方法有如下两个参数。

• createData:表示新窗口的配置对象,可以通过该参数设置新窗口的大小、位置、类 型、地址等,详情请参考表 2-6。

• callback:表示新窗口要执行的回调函数。


image.png


3.chrome.notifications

使用该 API 可以创建提示用户的浏览器通知,如图 2-27 所示。


image.png

图2-27 浏览器通知


在使用该 API 前,需要在 manifest 文件中声明,如代码清单 2-21 所示。


代码清单 2-21


{
"name": "My extension",
..."permissions": ["notifications"],
...}

notifications.create()方法的介绍如图 2-28 所示。


该方法有如下 3 个参数。

• notificationId:用来标记不同的浏览器通知,如果没有指定该参数的值,会自动生成 一个 ID,为可选参数。

• options:表示浏览器通知的配置项,详情请参考表 2-7。

• callback:表示创建浏览器通知后要执行的回调函数。


image.png


表 2-7 options 参数的值

image.png



目录
打赏
0
0
0
0
309
分享
相关文章
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
697 24
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
1688 快递费用 API 接口的技术剖析与应用
1688快递费用API接口为企业和开发者提供自动化、高效化的快递费用查询服务,打破人工查询的繁琐局面。通过输入寄件与收件地址、商品重量、体积及选择快递公司等信息,接口精准计算费用并返回结果,支持中通、圆通等主流快递。输出内容包括快递费用、预估时效及附加费说明,助力电商精细化运营。Python示例代码展示了如何使用requests库发起POST请求并解析响应数据,实现费用查询自动化。
116 10
|
3月前
|
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
79 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
解锁 DeepSeek API 接口:构建智能应用的技术密钥
在数字化时代,智能应用蓬勃发展,DeepSeek API 作为关键技术之一,提供了强大的自然语言处理能力。本文详细介绍 DeepSeek API,并通过 Python 请求示例帮助开发者快速上手。DeepSeek API 支持文本生成、问答系统、情感分析和文本分类等功能,具备高度灵活性和可扩展性,适用于多种场景。示例展示了如何使用 Python 调用 API 生成关于“人工智能在医疗领域的应用”的短文。供稿者:Taobaoapi2014。
深度解析淘宝商品评论API接口:技术实现与应用实践
淘宝商品评论API接口是电商数据驱动的核心工具,帮助开发者高效获取用户评价、画像及市场趋势。其核心功能包括多维度信息采集、筛选排序、动态更新、OAuth 2.0认证和兼容多种请求方式。通过该接口,开发者可进行商品优化、竞品分析、舆情监控等。本文详细解析其技术原理、实战应用及挑战应对策略,助力开启数据驱动的电商运营新篇章。
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
65 10
深入浅出:使用Node.js构建RESTful API
在这个数字时代,API已成为软件开发的基石之一。本文旨在引导初学者通过Node.js和Express框架快速搭建一个功能完备的RESTful API。我们将从零开始,逐步深入,不仅涉及代码编写,还包括设计原则、最佳实践及调试技巧。无论你是初探后端开发,还是希望扩展你的技术栈,这篇文章都将是你的理想指南。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等