快速制作一个chrome插件

这篇具有很好参考价值的文章主要介绍了快速制作一个chrome插件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说在前面

在我日常开发以及娱乐生活中,浏览器是我使用频率较高的一个应用,当我大学拥有第一部电脑开始,之后不论电脑换成什么,以及使用的是什么系统,我的首选浏览器都是Chrome,不仅仅是因为其速度快,更多是它丰富的扩展在吸引我,那么大家有没有想过如何自己来开发一个Chrome浏览器插件呢?是不是有的同学会觉得Chrome浏览器插件的制作难度会很大呢?今天就让我来带你们看看一个简单的Chrome浏览器插件的编写过程,并给大家制作一个简单的插件模板,大家可以通过模板来进行快速开发。

一、项目结构

一个完整的插件目录结构如下:

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

(一)html + js

1、manifest.json

简单配置,具体配置说明已在配置项后标出。

{
  "manifest_version": 2, //版本号,由google指定为2
  "name": "helloWorld", //插件名称
  "version": "1.0", //插件版本
  "description": "hello world 插件", //插件描述
  "icons": {
    //插件图标
    "128": "img/logo.jpg",
    "48": "img/logo.jpg",
    "16": "img/logo.jpg"
  },
  "browser_action": {
    "default_icon": "img/logo.jpg", //插件图标
    "default_popup": "default_popup" //点击图标后弹出的html互动文件
  },
  "content_scripts": [
    {
      "matches": ["<all_urls>"], //匹配url
      "js": ["bg.js"], //执行脚本
      "run_at": "document_start" //脚本运行时机
    }
  ],
  "permissions": ["tabs", "activeTab"] //权限申请
}

使用"content_scripts"你可以修改你当前访问的页面的dom,主要是靠js实现的,里面的"matches"是一个数组,里面装的是一些匹配的规则,意思就是当你的页面的地址满足数组里面的值的时候就会操作js文件,all_urls表示所有网页都会加载脚本。而"js"里面的是具体的操作,具体操作就是要自己写了。

2、popup.html

插件弹窗页,可以直接编写一个html页面,在manifest.json中的default_popup项进行配置即可。

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

<!DOCTYPE html>
<html lang="">
  <head>
    <title>helloWorld</title>
    <meta charset="utf-8" />
  </head>
  <body style="width: 200px; height: 200px">
    <h1 id="message">你好</h1>
    <input id="input1" type="text" />
  </body>
  <script src="js/popup.js"></script>
</html>
3、popup.js

插件弹窗页的脚本js代码,在popup.html页面中引入即可。

(function () {
  const input1 = document.getElementById("input1");
  const message = document.getElementById("message");
  input1.addEventListener("keyup", (e) => {
    message.innerHTML = "你好" + e.target.value;
    chrome.tabs.query({ active: true, currentWindow: true }, function (tab) {
      chrome.tabs.sendMessage(
        tab[0].id,
        {
          action: "hello",
          data: message.innerHTML,
        },
        function (response) {
          console.loig("收到回复:", response.state);
        }
      );
    });
  });
})();
4、bg.js

运行在浏览器打开tab窗体的脚本,需要在manifest.json中的content_scripts中进行配置。

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  const { action, data } = request;
  console.log("%c Line:4 🥔 action,data", "color:#b03734", action, data);
  sendResponse({ state: "已接收到数据" + data });
});

(二)vue + js

1、使用vue来编写插件弹窗页

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

使用vue来编写插件弹窗页面,我们可以将项目结构简化成这样,只需要修改manifest.json中的default_popup为vue项目打出的dist包即可。

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

{
  "manifest_version": 2, //版本号,由google指定为2
  "name": "helloWorld", //插件名称
  "version": "1.0", //插件版本
  "description": "hello world 插件", //插件描述
  "icons": {
    //插件图标
    "128": "img/logo.jpg",
    "48": "img/logo.jpg",
    "16": "img/logo.jpg"
  },
  "browser_action": {
    "default_icon": "img/logo.jpg", //插件图标
    "default_popup": "demo/dist/index.html" //点击图标后弹出的html互动文件
  },
  "content_scripts": [
    {
      "matches": ["<all_urls>"], //匹配url
      "js": ["bg.js"], //执行脚本
      "run_at": "document_start" //脚本运行时机
    }
  ],
  "permissions": ["tabs", "activeTab"] //权限申请
}

并将popup.js文件移到vue项目中,在index.html中引入即可。

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

二、浏览器导入插件

(一)进入chrome扩展程序管理页

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

(二)加载扩展程序

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

(三)页面使用插件

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

三、模板源码

(一)gitee源码下载

模板代码已上传到gitee,具体地址如下:

https://gitee.com/zheng_yongtao/chrome-plug-in.git

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

(二)依赖下载

拉取模板代码之后需要先下载vue模板的依赖(npm install)。

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

(三)vue打包

安装好vue模板的依赖之后,就可以对vue项目进行打包(npm run build)。

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

四、npm下载

插件模板我也已经上传了一份到了npm上,可以直接通过npm将模板下载下来:

npm i @jyeontu/chrome-plug-template

浏览器插件制作,浏览器扩展插件,chrome,javascript,前端

说在后面

🎉这里是JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球🏸 ,平时也喜欢写些东西,既为自己记录📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解🙇,写错的地方望指出,定会认真改进😊,在此谢谢大家的支持,我们下文再见🙌。文章来源地址https://www.toymoban.com/news/detail-680012.html

到了这里,关于快速制作一个chrome插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • chrome浏览器必备5款插件--各个都好使--chrome基础

    办公电脑在使用固定期限后,又到了新换电脑的时候,本次新电脑到手后,在浏览器方面依然选择了已经熟悉的chrome浏览器,有一句话说的对,没有插件的chrome浏览器是没有灵魂的。所以在沿用chrome浏览器后,这次也对前期使用的chrome浏览器插件进行了重新的审视和用途的重

    2024年02月09日
    浏览(42)
  • Chrome浏览器安装Axure-Chrome-Extension插件

    Chrome 浏览器打开 Axure 生成的 HTML 静态文件页面时,会显示如下图 AXURE RP EXTENSION FOR CHROME ,这是因为 Chrom e 浏览器没有安装 Axure 插件 Axure-Chrome-Extension 导致的。 1.下载Axure-Chrome-Extension插件压缩包并解压: 2.打开Chrome浏览器,右上角菜单中找到 “扩展程序---管理扩展程序”;

    2024年02月22日
    浏览(51)
  • chrome 谷歌浏览器 导出插件拓展和导入插件拓展

    给同事部署 微软 RPA时,需要用到对应的chrome浏览器插件;谷歌浏览器没有外网是不能直接下载拓展弄了半小时后才弄好,竟发现没有现成的教程,遂补充; 谷歌浏览器 地址栏敲 在对应的地址下,找到对应的插件存放位置; 在该文件夹中,对应id找到对应的文件 直接引用这

    2024年02月09日
    浏览(54)
  • Chrome 浏览器安装Vue2、Vue3插件方法 (详细有效)

    因为谷歌商城需要翻墙,很多人进不去,无法下载vue插件。推荐一个好用的网站“极简插件”,里面有很多的谷歌应用插件可以下载。 下载插件地址 点击上方链接,在极简插件里搜索如图下载,根据自己需要进行下载。 点开扩展程序页面,方面后面把插件拖进去  以

    2024年02月12日
    浏览(54)
  • 全栈笔记_浏览器扩展篇(插件开发 - 发送axios请求)

    是一个基于 promise 的HTTP库 兼容浏览器和node.js环境,在浏览器中会创建 XMLHttpRequests 请求,在node.js中会创建 http 请求 安装依赖: yarn add axios 创建实例: 使用自定义配置新建一个 axios 实例

    2024年02月19日
    浏览(39)
  • 是的,Android版Edge浏览器支持Extension(插件/扩展)了

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。 有些小伙伴的消息渠道实在过于灵通,所以这件事我也不用藏着掖着了。 (此处插件指的就是Extension,虽然Extension最标准的翻译应该是扩展) 其实Extension这

    2024年04月09日
    浏览(49)
  • linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像

    chromedriver 驱动下载地址: https://npm.taobao.org/mirrors/chromedriver/ linux centos安装google chrome浏览器使用headless无头模式 用java开发爬虫,或者需要java操作控制浏览器来渲染页面,抓取页面元素,都需要在linux安装google chrome浏览器,然后就可以通过chrome driver来连接操作chrome浏览器了,

    2024年02月09日
    浏览(75)
  • Chrome浏览器中的vue插件devtools的下载方式(使用Chrome应用商店/科学上网情况下)

    目录 devtools对前端来说的好处——开发预览、远程调试、性能调优、Bug跟踪、断点调试等  下载步骤:  测试阶段:  最近做项目要使用devtools这个vue插件。 首先先想个办法搞个加速器之类的,好实现科学上网。 在Chrome浏览器中访问以下网址: Chrome应用商店网址: https://c

    2024年02月14日
    浏览(43)
  • 谷歌chrome浏览器所有历史版本下载及selenium自动化控制插件资源分享

    使用python + selenium做网页自动化开发的小伙伴经常需要用到google chrome浏览器以及chromedriver插件。     谷歌浏览器所有历史版本下载链接: chrome历史版本,点击下载 chromedriver插件下载地址: 下载链接1:点击下载 下载链接2:点击下载 chromedriver插件与浏览器版本有对应关系,

    2024年02月14日
    浏览(56)
  • 开发工具篇第25讲:阿里云MFA绑定Chrome浏览器Authenticator插件

    本文是开发工具篇第25讲 ,登录阿里云旗下产品时,需要使用mfa登录,每次如果要用手机看mfa码很麻烦, Chrome浏览器提供了一个快捷的登录方法,可以提升验证码效率。 登录阿里云旗下产品时,需要使用mfa登录, 每次如果要用手机看mfa码很麻烦 , Google Authenticator是谷歌推出

    2024年02月16日
    浏览(113)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包