# 前言

文章内容来源于Chrome开发者文档,大部分为翻译,加上自己的一点补充或者理解,不足之处请担待,系列将通过每个实战例子,来加深对插件开发的理解上手;

目录导航

# 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回车进入扩展程序面板,然后加载我们的文件目录,选中文件夹即可,再点确认就可以了;

安装完成后,将插件置顶,然后点击查看效果,也可以使用我们自定义的快捷键快速打开。

image.png

image.png

# 4、打开调试面板

首先是content.js,因为这部分的代码是在manifest.json声明的,当访问的页面地址匹配我们写的正则时,才会进行注入,比如我们写的matcheshttps://*/*,即只要是https域名就会执行我们的脚本;

所以这部分的调试,需要我们在页面中打开控制面板(右键检查或者F12快捷键),步骤是:

  • 找一个https的地址
  • 打开控制台,找到sources下的content scripts
  • 找到我们插件的名称Debuuger Demo
  • 其中的content.js就是了

可以看到显示了我们的源代码,我们也可以进行插入断点

image.png

image.png

其次是background.js,我们回到安装插件的页面(在地址栏输入chrome://extensions

  • 找到我们的插件
  • 点击查看视图service worker
  • 会弹出一个控制台面板
  • 可以看到面板输出了我们的log语句
  • 同样切换到sources下,可以找到background.js进行断点

image.png

image.png


最后是popup.js,因为这部分是属于弹窗展示的js,所以我们需要在弹窗上面右键,点击审查弹出内容;点击后同样是一个调试面板,同样可以看到我们的popup.js中的log,同样可以调试debugger源码,这里就不赘述了。

image.png

image.png

# 5、总结

chrome插件的调试的几种方面,其实都跟我们平常页面开发类似,有一个调试面板,关键是不同的js文件需要不同的打开方式,打开之后查看log,插入断点都是一致的;学会调试后,开发效率日益飞速增长啦~喜欢的话点个赞吧