# 前言
文章内容来源于Chrome开发者文档,大部分为翻译,加上自己的一点补充或者理解,不足之处请担待,系列将通过每个实战例子,来加深对插件开发的理解上手;
目录导航
- chrome浏览器开发系列(一):hello extension (opens new window)
- chrome浏览器开发系列(二):reading time计算阅读时间 (opens new window)
- chrome浏览器开发系列(三):focus mode专注模式 (opens new window)
- chrome浏览器开发系列(四):调试我们开发的插件 (opens new window)
- chrome浏览器开发系列(五):tabs标签管理 (opens new window)
# 1、了解插件的调试
所谓工欲善其事,必先利其器;开发写代码很重要,如何调试我们的代码更重要,不会调试的情况下,会使我们的编码效率事倍功半。这一节我们主要来介绍我们自己的chrome插件如何调试,如何debugger打断点
;
# 2、准备工作
因为要调试代码,所以要先准备好我们的代码;找个地方新建目录debugger-demo
,然后创建我们的文件
- manifest.json
- backgroung.js
- script/content.js
- popup/popup.html
- popup/popup.js
- images/...不赘述了
最后我们的目录结构如下
debugger-demo
├── background.js
├── images
│ ├── icon-128.png
│ ├── icon-16.png
│ ├── icon-32.png
│ └── icon-48.png
├── manifest.json
├── popup
│ ├── popup.html
│ └── popup.js
└── scripts
└── content.js
对应文件的内容如下
manifest.json
内容如下:
{
"manifest_version": 3,
"name": "Debugger demo",
"version": "1.0",
"description": "Debugger chrome Extension demo!",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"action": {
"default_popup": "./popup/popup.html",
"default_icon": {
"16": "/images/icon-16.png",
"32": "/images/icon-32.png",
"48": "/images/icon-48.png",
"128": "/images/icon-128.png"
},
"default_title": "悬浮标题"
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"js": [
"scripts/content.js"
],
"matches": [
"https://*/*"
]
}
]
}
content.js
内容如下:
console.log('Im running in content.js')
background.js
内容如下:
console.log('Im running in background.js')
popup/popup.js
内容如下:
console.log('Im running in popup.js')
popup/popup.html
内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<h3 style="width: 300px">专门用来debuuger的popup,这里注入了popup.js</h3>
// 记得注入popup.js
<script src="popup.js"></script>
</body>
</html>
# 3、安装我们的插件
在浏览器中直接chrome://extensions
回车进入扩展程序面板,然后加载我们的文件目录,选中文件夹即可,再点确认就可以了;
安装完成后,将插件置顶,然后点击查看效果,也可以使用我们自定义的快捷键快速打开。
# 4、打开调试面板
首先是content.js
,因为这部分的代码是在manifest.json声明的,当访问的页面地址匹配我们写的正则时,才会进行注入,比如我们写的matches
是https://*/*
,即只要是https域名就会执行我们的脚本;
所以这部分的调试,需要我们在页面中打开控制面板(右键检查或者F12快捷键),步骤是:
- 找一个https的地址
- 打开控制台,找到sources下的content scripts
- 找到我们插件的名称Debuuger Demo
- 其中的content.js就是了
可以看到显示了我们的源代码,我们也可以进行插入断点
其次是background.js
,我们回到安装插件的页面(在地址栏输入chrome://extensions
)
- 找到我们的插件
- 点击查看视图
service worker
- 会弹出一个控制台面板
- 可以看到面板输出了我们的log语句
- 同样切换到sources下,可以找到background.js进行断点
最后是popup.js
,因为这部分是属于弹窗展示的js,所以我们需要在弹窗上面右键,点击审查弹出内容;点击后同样是一个调试面板,同样可以看到我们的popup.js中的log,同样可以调试debugger源码,这里就不赘述了。
# 5、总结
chrome插件的调试的几种方面,其实都跟我们平常页面开发类似,有一个调试面板,关键是不同的js文件需要不同的打开方式,打开之后查看log,插入断点都是一致的;学会调试后,开发效率日益飞速增长啦~喜欢的话点个赞吧