为了少点击几次,自己写了一个Chrome插件
缘由
chrome应用商店有三款二维码插件,自己一直使用的第一款。这三款插件有且只有一个功能就是生成当前页面的URL的二维码。
其实这个功能基本上满足了需要移动端开发在微信里打开页面进行调试的情况。
但是也有少数情况(如:页面存在重定向),无法直接在桌面上打开链接。此时以往我习惯性的打开百度,输入二维码,找到草料二维码,填入链接,然后生成二维码,最后微信扫一扫。
每次有此情况发生的时候,脑子里都存在一个想法为什么生成当前页面的URL的插件上存在一个输入框,可以手动生成一个二维码呢?!

Chrome插件开发
由于之前接触过一些Chrome开发,所以对Chrome开发心里有数,本质上就是前端开发,加上Chrome提供的特殊API接口,就可以搞定。
最核心问题 - JS能够制作二维码
开源的插件:http://davidshimjs.github.io/qrcodejs/
Chrome插件类型 - browser_action
根据《Chrome扩展及应用开发》我总结了大概有五种类型:
- browser_action : 地址栏右侧图标
- page_action : 地址栏内右侧图标
- content_scripts : 对某些页面进行处理
- background : 后台运行脚本
- options_page:选项页面
二维码开发肯定选browser_action,
需求:
- 点击地址栏右侧图标弹出小窗口自动生成当前页面URL的二维码
- 弹出窗口包含一个输入框,可手动根据输入框的内容生成二维码
Chrome插件配置文件介绍
{
"manifest_version": 2,
"name": "二维码",
"version": "0.0.1",
"description": "二维码",
"icons": {
"128": "img/qrcode.png"
},
"browser_action": {
"default_icon": {
"38": "img/qrcode.png"
},
"default_tile": "二维码",
"default_popup": "popup.html"
},
"permissions": [
"tabs"
]
}
- "manifest_version" 当前必须为2。
- "icons"为扩展程序页面的图标。
- "browser_action"中"default_icon"为地址栏右侧的图标。
- "default_popup"为最核心的点击图标弹出的小窗口页面。
- "permissions"因为需要获取用户当前页面的URL需要配置的权限。
Chrome插件弹出页面
此页面为正常的前端开发HTML页面,可引入CSS,和JS文件。
成果

github: https://github.com/yangqiong/chrome-plugins-qrcode
代码写的不好,欢迎大家提意见,谢谢。
为了少点击几次,自己写了一个Chrome插件的更多相关文章
- 自己在项目中写的一个Jquery插件和Jquery tab 功能
后台查询结果 PDFSearchResult实体类: [DataContract(Name = "PDFSearchResult")] public class PDFSearch ...
- 菜鸟写的第一个chrome插件
一.新建一个文件夹,用来放插件的代码 二.首先新建配置文件manifest.json // 开发参考:http://open.chrome.360.cn/extension_dev/overview. ...
- js写一个chrome 插件
访问网站的时候,最烦的就是一些弹窗和广告.于是,就想着能不能在访问特定网站的时候,执行一段js脚本,去除页面的广告.于是乎,好像 chrome 插件可以实现. 这里,以 百度 的网站为例 新建 sim ...
- 如何通过写一个chrome扩展启动本地程序
@(编程) [toc] 本文介绍如何利用Chrome 的插件, 从我们的一个网站中启动一个我们的本地程序.本文的环境是windows10,本文的例子是通过点击网页上的一个button,调用本地的wor ...
- 搞了我一下午竟然是web.config少写了一个点
Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.c ...
- CI(codeigniter)框架,routes.php设置正确,但是显示服务器错误,是__construct少写了一个下划线
今天弄了一下CI框架,大概看了一下文档,感觉CI框架非常精简,但是在做的时候遇到了问题,CI文档中提供了一个新闻系统的例子,所有工作都做完了,在浏览器中打开相对应的url是,却显示“服务器错误”,一点 ...
- 请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件。
请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件. <a href=”mailto: zhangsan@d-heaven.com”>发邮件</ ...
- this.$Message.success('提示信息') 少写了一个c 导致报错
this.$Message.success('提示信息') 少写了一个c 导致报错 而且 $Message 输出还没显示,导致我以为是没有 $Message 对象了,其实全局对象直接调用即可
- 写了一个简单的CGI Server
之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...
随机推荐
- 微信小程序开发之拼接json数组字符串
直接上代码 : var imageitem; var imageitemstring=''; for(var i=0;i< that.data.fbimages.length;i ...
- sqlserver2012——使用子查询
1 select A.成绩,A.分数,B.姓名 FROM 成绩信息 A, 学生信息 B WHERE A.学生编号=B.学号 AND A.课程编号=‘’ AND A.考试编号=‘’ AND A.分数 & ...
- MVC4 razor与aspx的区别以及用法
Model要重,Controller要轻,View要够笨,mvc不希望在开发view时还需要判断过多的与view无关的技术,所以要尽可能的保持view逻辑简单.(以下中有出现代码的地方用了什么尖括号百 ...
- 基于zookeeper实现分布式配置中心(一)
最近在学习zookeeper,发现zk真的是一个优秀的中间件.在分布式环境下,可以高效解决数据管理问题.在学习的过程中,要深入zk的工作原理,并根据其特性做一些简单的分布式环境下数据管理工具.本文首先 ...
- ue4 官网IK流程记录
基本流程 角色蓝图构造 角色蓝图 角色蓝图中新建的函数IK Foot Trace AnimGraph事件 这里注意下Make Vector时把z方向的偏移量设置到了X上 猜测原因是效应器的x方向跟世界 ...
- 2017 Gartner Hype Cycle for Emerging Technologies: AI, AR/VR, Digital Platforms
- solidity 学习笔记(6)call 函数
call() 方法 call()是一个底层的接口,用来向一个合约发送消息,也就是说如果你想实现自己的消息传递,可以使用这个函数.函数支持传入任意类型的任意参数,并将参数打包成32字节,相互拼接后向合约 ...
- codevs 1086 栈(Catalan数)
题目描述 Description 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). ...
- JS高级学习历程-12
冒充继承 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/T ...
- 利用Hough变换识别图像中的直线
引入 近期看到2015年数学建模A题太阳影子定位中的第四问,需要根据附件中视频里的直杆的太阳影子的变化确定拍摄地点.其实确定拍摄地点这个问题并不是十分困难,因为有前三问的铺垫,我们已经得出了太阳影子长 ...