使用vue快速开发一个带弹窗的Chrome插件

vue-chrome-extension-quickstart

image.png

image.png

说在前面

🎈平时我们使用Chrome插件通常都只是用来编写简单的js注入脚本,大家有没有遇到过需要插件在页面上注入一个弹窗呢?比如我们希望可以通过快捷键快速唤起ChatGPT面板或者快速唤起一个翻译面板,这时候我们就需要在页面上注入一个可以使用快捷键唤起的弹窗面板了,那么在插件开发中,我们怎么使用vue框架来进行弹窗面板开发呢?

一、介绍

vue 快速开发 chrome 浏览器插件模板。

二、功能

1、vue 开发 popup 弹窗页面

1705325727057.jpg

2、vue 开发弹窗页面

1705325816361.jpg

可以通过快捷键控制弹窗的显示隐藏。

3、一键打包

1705325930833.jpg

配套打包脚本,npm run build 一键生成插件 dist 包。

三、目录介绍

1、popup

1705326049515.jpg
1705325727057.jpg

插件图标点击的弹框页面,可以使用 vue 框架进行开发。

1705326117869.jpg

2、panel

1705326186322.jpg
1705325816361.jpg

浏览器标签页内弹窗,可以使用 vue 框架进行开发。
1705326240396.jpg

3、dist

1705326334397.jpg
打包生成的插件 dist 包,导入插件时直接选择该 dist 目录即可。
1705326381060.jpg

4、script

1705326835282.jpg
需要动态注入到页面的 script 脚本,可以在该目录下添加 js 脚本,打包成插件后会动态注入页面,即通过<script src="xxx.js"></script>的方式注入到页面中。

5、init.js

模板初始化脚本,安装各目录所需依赖。

6、build.js

打包脚本,npm run build运行脚本生成插件 dist 包。

7、contentScript.js

需要动态注入的 js 文件,打包时会自动生成。

8、manifest.json

插件配置信息,按需配置即可。

四、使用

1、下载模板

(1)gitee直接下载

Gitee地址:https://gitee.com/zheng_yongtao/vue-chrome-extension-quickstart.git

(2)命令行快速创建
  • 安装下载工具

    npm i -g jyeontu
    

    1705335372748.jpg

    需要安装1.2.3以上版本

  • 创建模板

    jyeontu create
    

1705337133616.jpg
1705335651180.jpg

输入命令后更加提示输入或选择即可

  • 插件初始化

    cd .\chrome插件快速开发\
    npm run init
    

    1705335801775.jpg

    等待安装完依赖即可。

  • 插件打包

    npm run build
    

1705337120779.jpg
1705337089781.jpg

  • 浏览器导入插件
    1705337103355.jpg
    1705337038995.jpg
    1705337030393.jpg

  • 插件效果

    • 点击插件图标唤起popup弹窗
      1705337004846.jpg
    • alt + v 唤起 页面弹窗
      1705336987669.jpg
      模板弹窗内嵌了翻译和ChatGPT

五、开发调试

1、popup页面开发调试

cd .\popup\
npm run serve

1705336957627.jpg
1705336827984.jpg

popup弹窗面板是用vue框架写的,直接启动项目即可,改好页面直接插件根目录运行打包命令更新即可。

2、panel页面开发调试

和popup页面一样,直接启动项目调试,改好后重新打包即可。

源码

Gitee:https://gitee.com/zheng_yongtao/vue-chrome-extension-quickstart.git

欢迎star、欢迎pr

联系作者

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Jaxb xml转JavaBean

1、什么是JAXB JAXB&#xff08;Java Architecture for XML Binding) 是一个业界的标准&#xff0c;是用于 XML 绑定的 Java 体系结构&#xff08;JAXB&#xff09;是允许将 Java 类映射到 XML 表示形式的软件框架。 JAXB 支持将 Java 对象编组为 XML&#xff0c;然后将 XML 解…

自动化革命:大象机器人的Mercury A1机械臂

引言 大象机器人的Mercury系列&#xff0c;是面向工业自动化和智能制造的新型机械臂产品线。这些机械臂不仅在设计上创新&#xff0c;还在材料选择上使用了碳纤维、铝合金和工程塑料等轻质强韧材料&#xff0c;搭载高精度谐波减速器。Mercury系列的推出&#xff0c;反映了大象机…

day2:TCP、UDP网络通信模型

思维导图 机械臂实现 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct so…

部署MinIO

一、安装部署MINIO 1.1 下载 wget https://dl.min.io/server/minio/release/linux-arm64/minio chmod x minio mv minio /usr/local/bin/ # 控制台启动可参考如下命令, 守护进程启动请看下一个代码块 # ./minio server /data /data --console-address ":9001"1.2 配…

JavaWeb,JavaScript的学习(下)

事件 事件可以是浏览器行为&#xff0c;也可以是用户行为。当这些行为发生时&#xff0c;可以自动触发对应的JS函数的运行&#xff0c;称之为事件发生。JS的事件驱动指的就是行为触发代码运行的特点 常见事件 鼠标事件 onclick&#xff1a;当用户点击某个对象时调用的事件句…

fuckingAlgorithm【双指针】19.删除链表的倒数第N个结点

19. Remove Nth Node From End of List remove-nth-node-from-end-of-list 要寻找倒数k个节点&#xff0c; 从虚拟头节点0开始走&#xff0c;p1指针先走k步&#xff0c;到达第k个节点然后p2指针从虚拟节点0开始&#xff0c;和p1一起同步前进&#xff0c;直到p1走到末尾n1节点…

LeetCode——82. 删除排序链表中的重复元素II

通过万岁&#xff01;&#xff01;&#xff01; 题目&#xff1a;题目的大致意思就是&#xff0c;给你一个升序的链表&#xff0c;然后让你里面的元素有重复的&#xff0c;所有重复的元素都进行一个删除。思路&#xff1a;这个题的简化版是“83.删除排序链表中的重复元素”。看…

深度学习笔记(七)——基于Iris/MNIST数据集构建基础的分类网络算法实战

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解&#xff0c;如有遗漏或错误&#xff0c;欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 认识网络的构建结构 在神经网络的构建过程中&#xff0c;都避不开以下几个步骤&#xff1a; 导入网络和依…

【Android+物联网】Android封装MQTT连接阿里云物联网平台

前言&#xff1a; 亲测可行&#xff0c;本文实现Android封装MQTT连接阿里云物联网平台。将MQTT协议和连接阿里云平台的操作通过Android studio写入APP中&#xff0c;并简单设计UI。实现手机APP远程控制单片机LED灯亮灭的功能。 关于《Android软件开发》&#xff0c;见如下专栏…

手拉手Vue3生命周期实战应用

每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xff0c;挂载实例到 DOM&#xff0c;以及在数据改变时更新 DOM。在此过程中&#xff0c;它也会运行被称为生命周期钩子的函数&#xff0c;让开发者有机会在特定阶…

HTTPS是什么意思

HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer&#xff0c;中文含义为“超文本传输协议在安全加密字层”&#xff0c;简单来说就是加密数据传输&#xff0c;通俗的说就是安全连接。 HTTPS安全超文本传输协议&#xff0c;它是一个安全通信通道&#xff0c;它…

SpringAMQP的使用

1. 简介&#xff1a; SpringAMQP是基于RabbitMQ封装的一套模板&#xff0c;并且还利用SpringBoot对其实现了自动装配&#xff0c;使用起来非常方便。 SpringAmqp的官方地址&#xff1a;https://spring.io/projects/spring-amqp SpringAMQP提供了三个功能&#xff1a; 自动声…

【linux】查看Debian应用程序图标对应的可执行命令

在Debian系统中&#xff0c;应用程序图标通常与.desktop文件关联。您可以通过查看.desktop文件来找到对应的可执行命令。这些文件通常位于/usr/share/applications/或~/.local/share/applications/目录下。这里是如何查找的步骤&#xff1a; 1. 打开文件管理器或终端。 2. 导…

20240115如何在线识别俄语字幕?

20240115如何在线识别俄语字幕&#xff1f; 2024/1/15 21:25 百度搜索&#xff1a;俄罗斯语 音频 在线识别 字幕 Bilibili&#xff1a;俄语AI字幕识别 音视频转文字 字幕小工具V1.2 BING&#xff1a;音视频转文字 字幕小工具V1.2 https://www.bilibili.com/video/BV1d34y1F7…

<Linux> 进程间通信

目录 前言&#xff1a; 一、进程间通信 &#xff08;一&#xff09;进程间通信目的 &#xff08;二&#xff09;进程通信的要求 &#xff08;三&#xff09;进程间通信分类 二、管道 &#xff08;一&#xff09;什么是管道 &#xff08;二&#xff09;基本原理 &#…

会声会影2024什么时间发布呢?会声会影2024会有那些新功能

近年来&#xff0c;随着科技的不断进步&#xff0c;各种软件的功能越来越强大&#xff0c;其中最为常用的莫过于视频编辑软件。而会声会影作为一款颇受欢迎的视频编辑软件&#xff0c;备受用户关注。那么&#xff0c;会声会影2024什么时间发布呢&#xff1f; 首先&#xff0c;我…

Java 使用 EasyExcel 爬取数据

一、爬取数据的基本思路 分析要爬取数据的来源 1. 查找数据来源&#xff1a;浏览器按 F12 或右键单击“检查”打开开发者工具查看数据获取时的请求地址 2. 查看接口信息&#xff1a;复制请求地址直接到浏览器地址栏输入看能不能取到数据 3. 推荐安装插件&#xff1a;FeHelper&a…

搭建知识付费小程序平台:如何避免被坑,选择最佳方案?

随着知识经济的兴起&#xff0c;知识付费已经成为一种趋势。越来越多的人开始将自己的知识和技能进行变现&#xff0c;而知识付费小程序平台则成为了一个重要的渠道。然而&#xff0c;市面上的知识付费小程序平台琳琅满目&#xff0c;其中不乏一些不良平台&#xff0c;让老实人…

高可用架构去中心化重要?

1 背景 在互联网高可用架构设计中&#xff0c;应该避免将所有的控制权都集中到一个中心服务&#xff0c;即便这个中心服务是多副本模式。 对某个中心服务&#xff08;组件&#xff09;的过渡强依赖&#xff0c;那等同于把命脉掌握在依赖方手里&#xff0c;依赖方的任何问题都可…

个性化定制的知识付费小程序,为用户提供个性化的知识服务

明理信息科技知识付费saas租户平台 随着知识经济的兴起&#xff0c;越来越多的人开始重视知识付费&#xff0c;并希望通过打造自己的知识付费平台来实现自己的知识变现。本文将介绍如何打造自己的知识付费平台&#xff0c;并从定位、内容制作、渠道推广、运营维护四个方面进行…