赞
踩
欢迎来到我的 Chrome 插件系列教程。
通过本文,你将学到 Chrome 插件的基本概念;了解了插件核心 manifast 文件的结构、字段含义;最后,通过一个 hello extension 小插件的开发,学会了整个插件的开发调试流程。
你可以在附件中获取本文中使用的所有源码。
Chrome 插件是通过向 Chrome 浏览器中添加特性和功能,增强浏览器用户体验,提供如下功能:
当然,你可以在 Chrome 应用商店里获取丰富的插件,自定义 Chrome 功能,以提升自己的 Chrome 使用体验。
Chrome 扩展是使用和 web 开发相同的技术:
如果非常熟悉以知识,在接下来的学习过程中将会变得非常简单。
Chrome 插件除了能够使用 JavaScript API 提供的基础功能,还能使用 Chrome API。这就使得 Chrome 插件功能更加的强大。举几个简单的例子:
更多的 Chrome 插件能力可以参考这篇文章:Extension development overview
Chrome 插件工程需要根据功能的不同,提供不同的文件,以下是常用文件相关介绍:
Manifest
这是 Chrome 插件最重要的文件。有以下强制要求:
manifest.json
命名;在 manifest 文件中记录了核心 metadata、资源声明、权限声明、指定在前台或后台运行的文件。
Service work
监听和处理浏览器事件。可以处理很多事件,例如:打开新页面、移除书签、关闭标签页等。它可以使用所有的 Chrome API,但是不能直接和页面内容进行交互。
Content scripts
Content scripts 可以在页面中执行 JS 脚本。只能够读取和操作注入页面的 DOM,只能使用部分 Chrome API 功能。如果想要使用剩下功能,需要和 Service worker 进行通信。
popup 等其他页面
一个插件可以拥有多个 HTML 文件,比如:popup、options page、其他 HTML 页面。这些页面都可以使用 Chrome API。并不是所有的 Chrome 插件都需要包括 popup 页面,例如接下来教程中的【专注模式】插件和【阅读时间】插件就不需要。
Chrome 插件项目结构示例:
.
├── background.js
├── button.css
├── images
│ ├── get_started128.png
│ ├── get_started16.png
│ ├── get_started32.png
│ └── get_started48.png
├── manifest.json
├── options.html
├── options.js
├── popup.html
└── popup.js
了解了这么多基础知识,想必你已经迫不及待想要上手尝试一下了。接下来我们以一个 hello world 级别的 Chrome 插件为例,带你了解插件开发、运行、调试整套流程吧。
新建工程目录
$ mkdir hello-extension && cd hello-extension
创建 manifest 文件
在当前目录下创建 manifest 文件,并填入以下内容:
{
"manifest_version": 3,
"name": "Hello Extensions",
"description": "Base Level Extension",
"version": "1.0",
"action": {
"default_popup": "hello.html",
"default_icon": "hello_extensions.png"
}
}
字段说明
添加 popup 页面内容
在 hello.html 中添加如下内容:
<html>
<body>
<h1>Hello Extensions</h1>
</body>
</html>
在 Chrome 中加载未打包插件
如图:
至此 hello extensions 插件已经加载完成,你将看到如下效果:
创建 hello.js 文件,并添加如下内容:
console.log('hello popup!');
修改 hello.html 文件,如下:
<html>
<body>
<h1>Hello Extensions</h1>
<script src="popup.js"></script>
</body>
</html>
点击插件按钮,对弹出层右键打开调试控制台,如图操作:
此时,你将在 Console 中看到 hello popup 输出。
查看出错信息
如果我们的插件在运行过程中出现报错,可以在 Chrome 插件管理页面进行查看,如图所示:
通过本文我们了解到了 Chrome 插件的基本概念;了解了插件核心 manifast 文件的结构、字段含义;通过一个 hello extension 小插件的开发,学会了整个插件的开发调试流程。
以上就是本文所有内容了,希望对你有所帮助。在接下来的教程中我们会进入到本次实战的核心内容,为 CSDN 写 Chrome 插件,你将学到更多有用的插件开发技巧。
如果你喜欢本文,也请务必点赞、收藏、评论、转发,这会对我有非常大的帮助。请我喝杯冰可乐也是极好的!
未完结,欢迎持续关注。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。