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 创建manifest.json
首先创建一个空白文件夹:
mkdir FirstExtension
cd FirstExtension
接着创建一个叫manifest.json
的文件,直接在WebStorm
中创建即可,文件内容如下:
{"name": "First Extension","description": "This is my first extension","version": "1.0","manifest_version": 3
}
打开浏览器进入管理扩展程序,并开启开发者模式,选择Load unpacked
,打开刚才创建的FirstExtension
文件夹:
这样就可以看到扩展了。
事实上最简单的扩展只需要一个manifest.json
,来描述扩展最基本的一些属性以及行为,因此这样就算完成HelloWorld了。
5 添加弹出界面
现在扩展什么界面也没有,现在可以尝试着给扩展添加一个点击就弹出的界面,首先修改manifest.json
,添加action
:
{"name": "First Extension","description": "This is my first extension","version": "1.0","manifest_version": 3,"action": {"default_popup": "popup.html"}
}
在与manifest.json
同级目录下创建popup.html
文件:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>Hello World!</h1>
</body>
</html>
这样点击扩展就会弹出对应文字了:
6 添加图标
在manifest.json
中添加icons
字段:
{"name": "First Extension","description": "This is my first extension","version": "1.0","manifest_version": 3,"action": {"default_popup": "popup.html"},"icons": {"16": "icons/16.png","32": "icons/32.png","48": "icons/48.png","128": "icons/128.png"}
}
图标文件可以从文末的源码处获取,重新加载后就可以看到扩展的图标改变了。
图标一共有四个,16*16
是扩展页面中显示的图标:
而32*32
是可选的,为了防止从48*48
的大小中缩小造成失真,48*48
是在扩展管理页面中显示的,例如:
而128*128
是Chrome Web Store
中显示的。
7 发布
最后一步是发布,扩展有两种安装方式,一种是通过本地安装,一种是通过Chrome Web Store
安装,使用后一种方式的话,需要注册成为Chrome
网上应用开发者:
这里为了方便就本地打包发布了,在插件管理页面选择Pack extension
:
选择包含了manifest.json
的文件夹,在这里就是刚才创建的FirstExtension
:
点击打包后,会出现两个文件:
一个是crx
,就是扩展的打包文件,一个是pem
,创建新版本的扩展时需要使用。
浏览器中拖拽crx
文件就可以安装了,一般来说Chrome/Chromium/Brave
因为基于相同内核应该都不会出现问题,至于FireFox
,可以参考一下文末的附录。
8 源码
- Github
- 码云
- GitCode
9 附录:FireFox
FireFox
目前最新版本(85.0
)的扩展目前不支持Manifest V3
,因此如果需要开发FireFox
扩展,需要使用Manifest V2
版本,也就是:
"manifest_version": 2
当然还有一些字段上的区别,具体可以参考这里的文档。
另外笔者测试了一下FireFox
安装这个Demo
扩展好像不能直接拖拽crx
文件,需要打开一个叫about:debugging
的链接,在设置中选择Load Temporary Add-on
:
选择manifest.json
文件即可安装。
Chrome扩展开发基础教程(附HelloWorld)相关推荐
- AndoridSQLite数据库开发基础教程(5)
AndoridSQLite数据库开发基础教程(5) 创建SQLite数据库 使用SQLiteManager创建数据库的操作步骤如下: (1)双击SQLiteManager工具,弹出SQliteMana ...
- java web 润乾报表教程_润乾报表开发 基础教程.ppt
润乾报表开发 --基础教程 主格和附属格 单元格进行扩展的过程中,缺省情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其它格(其右/下的格)的主格,而其右(下)的单元格是被动跟随复制 ...
- [AHK]面向对象开发基础教程
AHK中的面向对象开发基础教程 本文将讲解AutoHotkey中如何使用类Class,即面向对象编程的一些基础知识: 在编程中使用类叫面向对象编程(Object Oriented Programmin ...
- iphone3开发基础教程
学习ios 要两本书 1.Objective-C基础教程 下载地址 : http://www.kuaipan.cn/file/id_28743136620607856.htm 2.iphone3开发基 ...
- 根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈
根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈 原文地址:http://www.lwxshow.com/forum-2-1.html 大家觉得有必要下载高清版本的 ...
- chrome扩展开发介绍和右键开发
chrome扩展开发 chrome扩展中文文档官网 Chrome浏览器在全球都拥有可观的忠实用户,抛去其占据了浏览器市场的霸主地位不说,其具备了众多的优点,如良好的用户体验,简单的开发规范等等. 归纳 ...
- SharePoint Framework开发基础教程
SharePoint Framework开发基础教程-170人已学习 课程介绍 SharePoint Framework是微软推出的针对SharePoint的前端开发框架,本课程将详细 ...
- Xamarin图表开发基础教程(13)OxyPlot框架支持的其它图表
Xamarin图表开发基础教程(13)OxyPlot框架支持的其它图表 除了以上提到的图表外,OxyPlot组件还包含了6种类型的其它图表,分别为等高线图.箱线图.饼图.热图.散点图和散点误差图,如图 ...
- Xamarin图表开发基础教程(12)OxyPlot框架支持的金融图表类型
Xamarin图表开发基础教程(12)OxyPlot框架支持的金融图表类型 OxyPlot组件中支持5种类型的金融图表,它们分别为销量图.高低图.股票K线图.股票走势图和旧式股票图,如图1.20~1. ...
最新文章
- js 选择 checkbox
- linux高通平台代码,高通linux系统初始化
- python 单继承的实现
- 滚动条的值如何赋值_如何给Word文本框添加滚动条?史上最详细步骤
- Spark广播变量实现原理及基础编程
- [蓝桥杯][2016年第七届真题]密码脱落(记忆化搜索)
- Java集合:Map集合
- foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List
- 根据一个数字日期,判断这个日期是这一年的第几天
- Terracotta Express Model 和 Terracotta Customized Model
- 3.MySQL索引(一)介绍索引
- 查看字符串的编码chardet
- 可以玩java游戏的软件_手机上能玩电脑游戏的软件有哪些 用什么软件可以在手机上玩电脑游戏...
- RSA算法和SM2算法对比
- JAVA流-File文件
- matlab两矩阵乘除,MATLAB矩阵乘法
- 玩转oled屏(基于SPI协议)
- React Fullpage
- 关于构建与优化数据仓库架构与模型设计
- HR 面,我们该怎么办