2023年12月7日发(作者:)

Chrome扩展开发基础教程(附HelloWorld)

1 概述

Chrome

扩展开发的基础教程,代码基于原生

JS+H5

,教程内容基于谷歌扩展开发。

2 环境

Chrome 88.0.4324.96

Chromium 87.0.4280.141

Brave 1.19.84

FireFox 85.0

WebStorm 2020.3.2

Manifest V3

3 开发环境准备

开发扩展建议使用

WebStorm

,推荐

WebStorm

的原因是能够补全,在设置中的

Libraries

中可以下载

chrome

的库,这样就能够补全了:

另一个建议使用的是

VSCode

,但是笔者目前没有找到让

VSCode

补全的方式,希望知道的可以在评论指出补充一下。

当然其实扩展开发并没有规定使用哪一个

IDE

,常用的

Web

开发

IDE

比如

HBuilder

也是可以的,看个人喜好了。

4 创建

首先创建一个空白文件夹:

mkdir FirstExtension

cd FirstExtension

接着创建一个叫

的文件,直接在

WebStorm

中创建即可,文件内容如下:

{

"name": "First Extension",

"description": "This is my first extension",

"version": "1.0",

"manifest_version": 3

}

打开浏览器进入管理扩展程序,并开启开发者模式,选择

Load unpacked

,打开刚才创建的

FirstExtension

文件夹:

这样就可以看到扩展了。

事实上最简单的扩展只需要一个

,来描述扩展最基本的一些属性以及行为,因此这样就算完成HelloWorld了。

5 添加弹出界面

现在扩展什么界面也没有,现在可以尝试着给扩展添加一个点击就弹出的界面,首先修改

,添加

action

{

"name": "First Extension",

"description": "This is my first extension",

"version": "1.0",

"manifest_version": 3,

"action": {

"default_popup": ""

}

}

在与

同级目录下创建

文件:

Title

Hello World!

这样点击扩展就会弹出对应文字了:

6 添加图标

中添加

icons

字段:

{

"name": "First Extension",

"description": "This is my first extension",

"version": "1.0",

"manifest_version": 3,

"action": {

"default_popup": ""

},

"icons": {

"16": "icons/",

"32": "icons/",

"48": "icons/",

"128": "icons/"

}

}

图标文件可以从文末的源码处获取,重新加载后就可以看到扩展的图标改变了。

图标一共有四个,

16*16

是扩展页面中显示的图标:

32*32

是可选的,为了防止从

48*48

的大小中缩小造成失真,

48*48

是在扩展管理页面中显示的,例如:

128*128

Chrome Web Store

中显示的。

7 发布

最后一步是发布,扩展有两种安装方式,一种是通过本地安装,一种是通过

Chrome Web Store

安装,使用后一种方式的话,需要注册成

Chrome

网上应用开发者:

这里为了方便就本地打包发布了,在插件管理页面选择

Pack extension

选择包含了

的文件夹,在这里就是刚才创建的

FirstExtension

点击打包后,会出现两个文件:

一个是

crx

,就是扩展的打包文件,一个是

pem

,创建新版本的扩展时需要使用。

浏览器中拖拽

crx

文件就可以安装了,一般来说

Chrome/Chromium/Brave

因为基于相同内核应该都不会出现问题,至于

FireFox

,可以参考一

下文末的附录。

8 源码

9 附录:

FireFox

FireFox

目前最新版本(

85.0

)的扩展目前不支持

Manifest V3

,因此如果需要开发

FireFox

扩展,需要使用

Manifest V2

版本,也就是:

"manifest_version": 2

当然还有一些字段上的区别,具体可以参考的文档。

另外笔者测试了一下

FireFox

安装这个

Demo

扩展好像不能直接拖拽

crx

文件,需要打开一个叫

about:debugging

的链接,在设置中选择

Load

Temporary Add-on

:

选择

文件即可安装。