一、为什么开发ColorConversion

工具的用途就是解决需求,个人开发习惯性使用PGB的颜色格式,而个人使用的取色软件为Snipaste,取色的格式是RGB的颜色,并且格式中逗号后有一个空格,所以开发了一个转换工具。

二、ColorConversion主要功能

1、PGB颜色格式转化成RGB颜色格式

2、RGB颜色格式转化成PGB颜色格式

三、ColorConversion插件源码

1、playground.html文件

<!DOCTYPE html>
<html><head><title>ColorConversion</title><meta charset="utf-8" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" href="./background.css">
</head><body class="body"><table><tbody><tr><td><div class="title">RGB颜色值转换成十六进制颜色码</div><table><tbody><tr><td class="color1"><input class="color1_input" value="24, 0, 255" /><button class="color1_conversion">转换</button></td><td id="color1" class="show_color1" bgcolor="#1800FF"></td><td id="res1" class="res_color1">#1800FF</td></tr></tbody></table></td></tr><tr><td><div class="title">十六进制颜色码转换成RGB颜色值</div><table><tbody><tr><td class="color2"><input class="color2_input" value="#CC00FF" /><button class="color2_conversion">转换</button></td><td id="color2" class="show_color2" bgcolor="#CC00FF"></td><td id="res2" class="res_color2">204, 0, 255</td></tr></tbody></table></td></tr></tbody></table><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/background.js"></script>
</body></html>

2、background.css文件

.body {width: 550px;
}.title {font-size: 18px;
}.color1,
.color2,
.color1_conversion,
.color2_conversion {height: 34px;
}.color1_input,
.color2_input,
.color1_conversion,
.color2_conversion,
.res_color1,
.res_color2 {font-size: 24px;
}.color1,
.color2 {width: 300px;
}.color1_input,
.color2_input {width: 200px;float: left;
}.color1_conversion,
.color2_conversion {float: left;margin-left: 15px;
}.show_color1,
.show_color2 {width: 100px;
}.res_color1,
.res_color2 {padding-left: 15px;
}

3、manifest.json文件

{"manifest_version": 2,"name": "ColorConversion","version": "1.0.0","description": "颜色转换工具","author": "SmallTeddy","icons": {"48": "icon.png","128": "icon.png"},"background":{"page": "background.html"},"browser_action": {"default_icon": "icon.png","default_title": "ColorConversion","default_popup": "background.html"},"content_scripts":[{"matches": ["<all_urls>"],"js": ["js/background.js", "js/background.js"],"css": ["background.css"]}],"permissions": ["tabs","http://localhost/","http://*/*","https://*/*"]
}

4、js目录下background.js文件

$('.color1_conversion').click(function () {var hexcode = "#";var color = document.getElementsByClassName("color1_input")[0].value.split(', ');for (x = 0; x < 3; x++) {var n = Number(color[x]);if (n == "") n = "0"if (parseInt(n) != n) return alert("请输入数字!");if (n > 255) return alert("数字在0-255之间!");var c = "0123456789ABCDEF", b = "", a = n % 16;b = c.substr(a, 1);a = (n - a) / 16;hexcode += c.substr(a, 1) + b}document.getElementById("color1").bgColor = res1.innerHTML = hexcode
})$('.color2_conversion').click(function () {var a = document.getElementsByClassName("color2_input")[0].value;if (a.substr(0, 1) == "#") a = a.substring(1);var len = a.length;if (len != 6 && len != 3) return alert("十六进制颜色码为六位或三位!");else if (/[^0-9a-f]/i.test(a)) return;document.getElementById("color2").bgColor = "#" + a;a = a.toLowerCase();b = new Array();for (x = 0; x < 3; x++) {b[0] = len == 6 ? a.substr(x * 2, 2) : a.substr(x * 1, 1) + a.substr(x * 1, 1);b[3] = "0123456789abcdef";b[1] = b[0].substr(0, 1);b[2] = b[0].substr(1, 1);b[20 + x] = b[3].indexOf(b[1]) * 16 + b[3].indexOf(b[2])}res2.innerHTML = b[20] + ", " + b[21] + ", " + b[22];
})

5、其他

插件其他文件包括:
js目录下jquery.js(可自行cdn下载引入)
icon.png(可在iconfont上自行下载喜欢的)
readme.md(简单写写就好)

另外该项目github地址:https://github.com/SmallTeddy/ColorConversion

四、写在最后

工具的开发永远都是解决需求而不是创造需求,切勿内卷,个人开发的第一个插件,如果喜欢,欢迎各位给项目点个star!!!

个人的第一个Chrome插件ColorConversion相关推荐

  1. 制作一个chrome插件

    制作一个chrome插件 要做两方面的准备 文件准备 在文件夹中,必需的两个文件 manifest.json 用于配置文件 index.html 插件的界面效果 manifest.json的内容 { ...

  2. 怎么编写一个chrome插件

    怎么编写一个chrome插件 总觉得chrome插件这种东西很高端,很遥不可及.当然复杂的chrome插件开发起来确实比较困难,但是我们可以从一个简单的chrome插件demo慢慢入手,了解一下chr ...

  3. 设计和实现一个 Chrome 插件提升登录效率

    大家好,我是若川.最近组织了源码共读活动,感兴趣的可以点此加我微信ruochuan12 进群参与,每周大家一起学习200行左右的源码,共同进步.已进行4个月了,很多小伙伴表示收获颇丰. 前言 在我们的 ...

  4. 如何从零开始开发一个 Chrome 插件?

    什么是浏览器插件? 简单来说浏览器插件,是浏览器上的一种工具,可以提供一些浏览器没有的功能,帮你做一些有趣的事情.开发者可以根据自己的喜欢,去实现一些功能.插件基于Web技术(html.css.js) ...

  5. java 线程 插件_我的第一个Chrome插件:天气预报应用

    1.Chrome插件开发基础 开发Chrome插件很简单,只要会基本的前台技术HTML.CSS.JS就可以开发了. Chrome插件一般包括两个HTML页面background和popup. back ...

  6. 快速制作一个chrome插件

    说在前面 在我日常开发以及娱乐生活中,浏览器是我使用频率较高的一个应用,当我大学拥有第一部电脑开始,之后不论电脑换成什么,以及使用的是什么系统,我的首选浏览器都是Chrome,不仅仅是因为其速度快,更 ...

  7. 前端拓展:如何开发一个 Chrome 插件?

    什么是浏览器插件? 简单来说浏览器插件,是浏览器上的一种工具,可以提供一些浏览器没有的功能,帮你做一些有趣的事情.开发者可以根据自己的喜欢,去实现一些功能.插件基于Web技术(html.css.js) ...

  8. 从零做一个Chrome插件实现起点中文网自动签到

    这是我参与更文挑战的第1天,活动详情查看: 更文挑战 最近一直在起点中文网上看小说,忽然发现官方竟然卖自动签到卡,五块钱一个月!身为一个程序猿,怎么能花这些冤枉钱! 于是开始了写一个脚本的念头. 第一 ...

  9. 我的第一个Chrome插件:天气预报应用

    1.Chrome插件开发基础 开发Chrome插件很简单,只要会基本的前台技术HTML.CSS.JS就可以开发了. Chrome插件一般包括两个HTML页面background和popup. back ...

最新文章

  1. 10月机器学习开源项目Top10
  2. Combiner合并案例
  3. 汇编语言--sbb指令
  4. C++十进制数转换为二进制表示的算法(附完整源码)
  5. 2/5 MySQL入门总结:数据类型
  6. clover引导mbr安装黑苹果_安装黑苹果记录(一)
  7. 使用epoll+时间堆实现高性能定时器
  8. 为什么老板给 ta 升职加薪?
  9. 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型
  10. Spring Boot 面试,一个问题就干趴下了!(下)
  11. 【Unity】12.2 导航网格寻路简单示例
  12. 2022 年“泰迪杯”数据分析技能赛——竞赛作品的自动评判(Python代码实现)
  13. 神州数码交换机CS6200命令(信息安全管理与评估赛项)
  14. Word、Excel组合批量打印信封(转)
  15. 海马模拟器linux,Droid4X Mac版-海马玩模拟器Mac版下载 V0.8.3Beta-PC6苹果网
  16. 程序员该如何对付日常小病小痛?
  17. mysql什么时候产生临时表_什么时候会用到临时表?MySQL临时表的使用总结
  18. Duilib嵌入cef3,实现浏览器功能
  19. 百度与谷歌地图瓦片组织方式对比
  20. 【数据结构】顺序表实现超详解(保姆级教程)

热门文章

  1. markdown转pdf
  2. python之基础语法常见错误提示总结
  3. Windows11越过限制安装方法
  4. 和华明诚教育:店铺降权应该要怎么样优化
  5. linux关闭xorg日志,linux – 挂起后在Xorg环境中恢复键盘设置
  6. 1144_Docker的基本介绍
  7. html文本框后面紧挨着按钮,Word题目与答案
  8. 微信发送图文消息,查看图文media_id
  9. CES 2019上芯片巨头们的争夺焦点:光线追踪、“永远”在线PC、汽车...
  10. 计算机专业各种书籍整理