Chrom插件开发:入门教程

2023-11-06 20:20

本文主要是介绍Chrom插件开发:入门教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插件由不相同但是内聚的组件组成,这些组件可以包括多个 后台脚本、多个内容脚本、一个设置页面、多个图形用户界面元素以及其他多种逻辑文件组成。插件组件通过HTML、CSS以及JavaScript这些Web开发技术构建,组件依赖于这些Web开发技术所提供的功能,但却又不必包含其全部功能。

本教程会教你创建一个可以任意改变developer.chrome.com网站页面背景颜色的插件,在此插件中会用到许多关键组件,用于讲解每个组件以及展示各个组件之间的关系。

就让我们从创建一个保存此插件文件的目录开始此教程。你也可以从 此处下载完整的插件。

创建 Manifest

插件开发都是从manifest开始的。创建一个manifest.json文件并填入一下内容,或者从此处下载该文件。

  {"name": "Getting Started Example","version": "1.0","description": "Build an Extension!","manifest_version": 2}

一个包含这个manifest文件的目录此时便可以作为一个插件通过开发者模式添加到浏览器中。

  1. 通过chrome://extensions打开插件管理页面(插件管理页面也可以通过点解Chrome浏览器菜单按钮,依次选择【更多工具】【扩展程序】来打开);
  2. 打开开发者模式开关使能开发者模式;
  3. 点击 LOAD UNPACKED 按钮并选择插件所在目录。
    image.png

哒哒!插件就被安装好了,由于manifest中并未包含任何图标,因此浏览器会为其创建一个通用的图标。

添加指令

虽然插件已经安装好了,但它并未包含任何指令。通过创建一个名为background.js的文件(或者从此处下载)并放置与上面创建的目录中可以引入一个后台脚本。

后台脚本以及其他重要的组件都必须在manifest中进行注册,通过注册后台脚本可以让插件知道应该索引哪一个文件,以及该文件可用来做什么。

  {"name": "Getting Started Example","version": "1.0","description": "Build an Extension!","background": {"scripts": ["background.js"],"persistent": false},"manifest_version": 2}

现在插件便知道它包含了一个非持久性的后台脚本,并且后扫描该脚本以便确定它该监听哪些重要的事件。

这个插件在安装好后需要从一个持久变量中获取信息,首先在后台脚本中为runtime.onInstalled设置一个监听事件,插件会在onInstalled监听函数中通过 storage API设置一个值,使得该插件的其他组件也可以访问并更新这个值。

  chrome.runtime.onInstalled.addListener(function() {chrome.storage.sync.set({color: '#3aa757'}, function() {console.log("The color is green.");});});

许多API(包括storage)为了让插件能使用他们,都需要在manifest中的permission字段中进行注册。

  {"name": "Getting Started Example","version": "1.0","description": "Build an Extension!","permissions": ["storage"],"background": {"scripts": ["background.js"],"persistent": false},"manifest_version": 2}

回到我们刚打开的插件管理页面并点击重新加载链接,会出现一个新的字段——Inspect view,它的值变成了一个显示为background.js可点击的蓝色的链接。

点击该链接会看到该后台脚本的控制台日志:The color is green.

引入用户图形界面

插件的用户图形界面可以有多种表现形式,但在本例中我们使用一个弹窗作为用户界面。在插件所在目录中创建一个名为popup.html的文件(你也可以从此处
下载)。此插件使用一个按钮来改变颜色。

 <!DOCTYPE html><html><head><

这篇关于Chrom插件开发:入门教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358848

相关文章

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题