昨天忽然想用手机访问当前电脑网址,发现太难了,因为网址太长了。 我就觉得应该搞个二维码插件。上谷歌里搜了一下,要不就是失效的,要不就不是插件。 于是乎我就自己写了一个。
我就觉得应该搞个二维码插件。上谷歌里搜了一下,要不就是失效的,要不就不是插件。
于是乎我就自己写了一个。
Github地址:https://github.com/aTool-org/chrome-qrcode
插件安装地址:https://chrome.google.com/webstore/detail/%E6%9E%81%E7%AE%80%E4%BA%8C%E7%BB%B4%E7%A0%81/bfpobnbhgondhofhkolbelkijdmgfjfm?hl=zh-CN
代码很简单,已经开源了。安装就可以看到样子了~学习代码的额可以去看看~
1. [代码][JavaScript]代码
require("./main.css");
var qrgen = require("../node_modules/jsqrgen");
(function() {
function $_id(id) {
return document.getElementById(id);
}
function show(dom) {
dom.style.display = "block";
}
function hide(dom) {
dom.style.display = "none";
}
function convertImgToBase64(url, callback, outputFormat){
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'),
img = new Image;
img.crossOrigin = 'Anonymous';
img.onload = function(){
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img,0,0);
var dataURL = canvas.toDataURL(outputFormat || 'image/png');
callback.call(this, dataURL);
canvas = null;
};
img.src = url;
}
chrome.tabs.getSelected(null, function(tab) {
var favicon_dom = $_id("favicon");
var qrcode_dom = $_id("qrcode");
favicon_dom.onerror = function() {
favicon_dom.src = "icon/icon_32.png";
favicon_dom.onerror = null;
}
if (tab.favIconUrl) {
favicon_dom.src = tab.favIconUrl;
show(favicon_dom);
}
var url = tab.url || "http://www.atool.org";
var colorIn = "#191970";
var colorOut = "#cd5c5c";
var colorFore = "#4169e1";
var colorBack = "#ffffff";
var options = {
cellSize: 8,
foreground: [
// foreground color
{style: colorFore},
// outer squares of the positioner
{row: 0, rows: 7, col: 0, cols: 7, style: colorOut},
{row: -7, rows: 7, col: 0, cols: 7, style: colorOut},
{row: 0, rows: 7, col: -7, cols: 7, style: colorOut},
// inner squares of the positioner
{row: 2, rows: 3, col: 2, cols: 3, style: colorIn},
{row: -5, rows: 3, col: 2, cols: 3, style: colorIn},
{row: 2, rows: 3, col: -5, cols: 3, style: colorIn},
],
background: colorBack,
data: url,
typeNumber: 1,
"effect": {
"key": "round",
"value": 0
},
// "logo": {
// "image": favicon_dom,
// "size": 0.13
// }
};
qrcode_dom.src = qrgen.canvas(options).toDataURL();
// //请求获取短网址
$.post('http://dwz.cn/create.php', {url: url}, function(result) {
if (result.status == 0 && result.tinyurl) {
$_id("short_url").value = result.tinyurl;
} else {
$_id("short_url").value = url;
}
}, "json");
//选中文本复制
$_id("short_url").onclick = function() {
$_id("short_url").select();
var short_url = $_id("short_url").value;
document.execCommand("Copy");
$_id("short_url").value = "Copied. ^_^!";
setTimeout(function() {
$_id("short_url").value = short_url;
}, 1000);
}
});
})();
