如何开发chrome浏览器插件?插件能做什么?示例源码 调试

在这里插入图片描述

在这里插入图片描述

示例

目标:进入任意网页,更改body背景色为red。点插件“changeColor” 更改body背景色为lightgreen
源码:

开发 Chrome 浏览器插件(扩展)主要包括以下几个步骤。Chrome 插件可以实现多种功能,例如修改网页内容、与外部 API 通信、管理标签页、自动化任务等等。

1. 准备开发环境

你只需要一个文本编辑器(如 VS Code)和 Chrome 浏览器。无需额外的 IDE。

2. 插件的基本结构

一个 Chrome 插件的文件夹通常包括以下几个文件:

  • manifest.json:描述插件的基本信息、权限以及插件的运行方式。
  • background.js:负责处理浏览器后台任务的脚本。
  • content.js:插入网页中的 JavaScript,用于与页面内容互动。
  • popup.html:点击浏览器工具栏图标时显示的弹出窗口的 HTML 文件。
  • 可能的其他文件:CSS、图片、其他 JavaScript 文件等。

3. manifest.json 配置

manifest.json 文件是 Chrome 插件的核心配置文件。它指定了插件的名称、版本、权限等。例如:

{
  "manifest_version": 3,
  "name": "My First Chrome Extension",
  "version": "1.0",
  "description": "A simple Chrome extension.",
  "permissions": ["activeTab", "scripting"]
  ,
  "background": {
    "service_worker": "background.js"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.js"]
    }
  ],
  "host_permissions": [
    "<all_urls>"
  ]
}

  • manifest_version: 表示使用的 manifest 文件版本,当前推荐使用版本 3。
  • permissions: 插件请求的权限,这里请求的是访问当前页面的权限。
  • background: 指定后台运行的脚本。
  • action: 定义点击插件图标时显示的弹窗。
  • content_scripts: 定义注入到页面中的脚本。

4. 编写插件的代码

  • background.js: 负责监听事件,例如浏览器打开、关闭标签页、按下按钮等。
chrome.runtime.onInstalled.addListener(function() {
  console.log("插件已安装!");
});
  • content.js: 用于与网页进行交互,获取页面内容或修改它。
document.body.style.backgroundColor = "lightblue";  // 修改页面背景颜色
  • popup.html: 用来创建插件图标点击时显示的 HTML 页面。
<!DOCTYPE html>
<html>
  <head>
    <title>插件弹窗</title>
  </head>
  <body>
    <h1>A simple Chrome extension</h1>
    <button id="changeColor">changeColor22</button>
    <script src="popup.js"></script>
  </body>
</html>
  • popup.js: 控制弹窗行为,比如与 content.js 交互。
document.getElementById("changeColor").addEventListener("click", function() {
    chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
      chrome.scripting.executeScript({
        target: { tabId: tabs[0].id },
        func: () => { document.body.style.backgroundColor = "black"; }
      });
    });
  });
  

5. 加载插件

  • 打开 Chrome,进入 chrome://extensions/ 页面。
  • 启用开发者模式,点击“加载已解压的扩展程序”按钮。
  • 选择你插件的文件夹。

6. 调试与发布

在开发过程中,可以随时修改插件代码并刷新扩展程序。开发完成后,可以通过 Chrome Web Store 发布插件,分享给更多用户。

插件能做什么?

Chrome 插件的功能非常广泛,以下是一些常见的功能:

  1. 增强网页功能:可以通过修改页面内容、插入按钮、样式等,增强网页的交互体验。例如,广告拦截、页面内容高亮显示等。
  2. 自动化操作:插件可以模拟用户行为,自动填写表单、点击按钮,甚至自动化网页浏览。
  3. 数据收集与分析:插件可以从页面中提取数据,如获取网页上的价格、新闻、评论等,进行分析或保存。
  4. 与外部服务交互:插件可以与后台 API 或第三方服务(如 Google Analytics、天气预报等)进行交互,提供个性化的服务。
  5. 提高生产力:插件可以增强开发、设计、写作等工作流程。例如,代码格式化工具、屏幕截图工具、语法检查等。

开发 Chrome 插件的潜力巨大,几乎可以做任何你想做的事情!你有想实现的特定功能或想法吗?

调试

在插件页面右键点检查,可以调试。
修改后,在扩展里点“更新” 可生效。

报错调试Cannot read properties of undefined (reading ‘executeScript’)

之前AI生成的报错,上面我已经改了。原因是权限不够,要加上 “permissions”: [“activeTab”, “scripting”]
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值