Chrome 插件开发,入门Demo

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/70246058 1、Chrome扩展文件Chrome扩展文件以.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/70246058

1、Chrome扩展文件

Chrome扩展文件以.crx为后缀名,在Google Chrome扩展官方网站下载扩展时,Chrome会将.crx文件下载到Chrome的Application Data文件夹的User Data\Temp下,一般是C:\Documents and Settings\User\Local Settings\Application Data\Google\Chrome\User Data\Temp,安装完成或者取消安装,该文件就会被删除。.crx实际上是一个压缩文件,使用解压文件打开这个文件就可以看到其中的文件目录,下图中是“关灯看视频”扩展的截图:


因此可以认为,我们实际上就是写一个Web应用,然后将按照Chrome的规定将一个快捷方式放在Chrome工具栏上。

2、Chrome例子

准备一个icon图片,用来显示在浏览器右上角的图标,如:


创建 manifest.json 插件描述文件: 
 
   
  1. {
  2. "name": "收益率计算",
  3. "version": "0.0.1",
  4. "manifest_version": 2,
  5. // 简单描述
  6. "description": "累加优惠券后计算最终实际收益率",
  7. "icons": {
  8. "16": "images/icon16.png"
  9. },
  10. // 浏览器小图表部分
  11. "browser_action": {
  12. "default_title": "收益率计算",
  13. "default_icon": "images/icon16.png",
  14. "default_popup": "html/calc.html"
  15. },
  16. // 引入脚本,content script 是运行在一个被称为isolated world 的运行环境里,
  17. // 和页面上的脚本互不干扰,因为不在一个运行环境里,所以也无法调用页面上脚本定义的方法了
  18. "content_scripts": [
  19. {
  20. "js": ["scripts/include.js"],
  21. // 满足什么条件下使用该脚本
  22. "matches": [
  23. //"http://*/*",
  24. //"https://*/*"
  25. "http://*.baidu.com/*",
  26. "https://*.baidu.com/*"
  27. ],
  28. // 什么情况下运行【指定文档何时加载脚本 document_start\document_end\document_idel】
  29. "run_at": "document_end"
  30. }
  31. ],
  32. // 应用协议页面
  33. "permissions": [
  34. "http://*/*",
  35. "https://*/*"
  36. ],
  37. "content_security_policy": "script-src 'self'; object-src 'self'"
  38. }

创建弹出框HTML页面 calc.html:

 
  
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>收益率计算器</title>
  6. </head>
  7. <body>
  8. 本金:<input id="benjin" value="30000"/><br/>
  9. 收益率:<input id="lilv1" value="0.08"/><br/>
  10. 投资期限(天):<input id="days" value="90"/><br/>
  11. 优惠券金额:<input id="coupon" value="450"/><br/>
  12. 最终收益率:<input id="lilv2" readonly="true" /><br/>
  13. <input id="calcBtn" type="button" value="计算" /><br/>
  14. <script src="../scripts/jquery-1.12.3.min.js"></script>
  15. <script src="../scripts/app.js"></script>
  16. </body>
  17. </html>

创建引入的app.js文件:
其中 jquery-1.12.3.min.js   为 jquery 库。
 
   
  1. function calc(){
  2. var money = $('#benjin').val()-0;// 本金
  3. var days = $('#days').val()-0;// 投资期限
  4. var lilv = $('#lilv1').val()-0;// 收益率
  5. var coupon = $('#coupon').val()-0;// 优惠券金额(元)
  6. var lilv2 = (money * lilv / 365 * days + coupon) / days * 365 / money;
  7. lilv2 = (lilv2 * 100).toFixed(2);
  8. $('#lilv2').val(lilv2 + "%");
  9. }
  10. $(document).ready(function(){
  11. $("#calcBtn").click(function(){
  12. calc();
  13. });
  14. });
创建 include.js 文件,该文件是用来注入到指定网站的js脚本,不同于 app.js,为了测试,我们其中只输出一个日志:
 
   
  1. console.log('页面加载被载入');
按如下目录结构将文件放入一个文件夹中:


3、Chrome调试和打包
打开:设置 > 更多工具 > 扩展程序

加载我们的程序后,浏览器右下角就出现我们的插件了,可以进行测试,如果修改了代码,点击“重新加载(Ctrl + R)” 后在重新测试。

当然,我们开发好程序后,还是需要打包成 .crx 插件包的,这个很简单,使用“打包扩展程序” 进行打包即可:

第一次打包,密钥文件不需要选择,Chrome 会帮我们生成这个密钥,在以后更新打包时再使用。

4、安装 .crx 程序
将打包后的 crx 程序,拖到 Chrome 中,即可完成安装。

源代码包链接:https://pan.baidu.com/s/1hrQ6v2G








目录
相关文章
|
2月前
|
Web App开发 Windows
win 快捷键大全,虚拟窗口、桌面等操作细节,可以使界面整洁,分类工作;Chrome快捷键,都是一些开发的骚操作
这篇文章提供了Windows操作系统和Chrome浏览器的快捷键大全,以及Xshell的快捷键操作,旨在帮助用户提高工作效率和界面管理。
121 2
|
2月前
|
Web App开发 JSON JavaScript
vue学习:chrome 中 vuetools 开发插件 的下载、安装
这篇文章介绍了如何在Chrome浏览器中下载、安装并测试Vue.js开发插件——vue-devtools。
288 0
vue学习:chrome 中 vuetools 开发插件 的下载、安装
|
4月前
|
Web App开发 存储 前端开发
《Chrome谷歌插件Top10》开发最好用的谷歌插件
本文介绍了多个实用的浏览器插件及其安装方法。包括CSDN浏览器助手,提供高效开发工具;FeHelper,前端必备工具,支持格式化、压缩等功能;uBlock Origin,有效屏蔽广告和弹窗;PageLiner,网页标尺工具,便于前端设计;Fatkun,批量下载图片;Smallpdf,文件转换工具;Octotree,GitHub代码树插件;Awesome Screenshot,截图与录屏工具;ColorZilla,颜色拾取器;Dark Reader,暗黑模式阅读插件。安装方式有通过Chrome商店搜索或下载crx插件本地安装。
69 11
|
4月前
|
Web App开发 JSON 前端开发
30个Chrome 灵魂插件!
30个Chrome 灵魂插件!
|
4月前
|
Web App开发 JSON 安全
【跨域难题终结者】:一键解锁Chrome浏览器神秘设置,彻底告别开发阶段的跨域烦恼!
【8月更文挑战第20天】跨域是前端开发常遇难题,尤其在前后端分离项目中。浏览器因安全考量会阻止不同源间的请求。本文对比CORS、JSONP、代理服务器等解法,并介绍开发阶段通过调整Chrome设置来临时禁用跨域限制的方法,提供启动Chrome及使用`fetch`API示例,适合快速测试。但请注意这不适用于生产环境,存在一定安全风险。
929 1
|
4月前
|
Web App开发 前端开发 JavaScript
手摸手教你,从0到1开发一个Chrome浏览器插件
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
329 8
|
4月前
|
Web App开发
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
156 0
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
|
5月前
|
Web App开发 前端开发 Java
通过设置 Chrome 解决开发调用跨域问题
通过设置 Chrome 解决开发调用跨域问题
1216 7
|
4月前
|
Web App开发 监控 前端开发
重磅! Chrome开发者工具入门
重磅! Chrome开发者工具入门
|
5月前
|
Web App开发 数据可视化 前端开发
Chrome插件实现问题之content-scripts能访问哪些Chrome API
Chrome插件实现问题之content-scripts能访问哪些Chrome API
下一篇
无影云桌面