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

相关文章

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并