下面介绍一下如何简单地开发出自己的二维码
-
二维码开发是基于jQuery的一个插件叫jquery.qrcode插件
在github上有开源项目,地址:https://github.com/jeromeetienne/jquery-qrcode,大家可以自行下载。 -
在项目中把jquery.min.js复制到web项目中的js文件中,同时还要把插件jquery.qrcode.min.js赋值到js文件下。
(我用的是jquery-1.10.1.js。jquery.min.js和jquery-1.10.1.js效果是等价的) -
代码如下:
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<!-- 不能颠倒 jquery.qrcode属于jquery的一个插件 -->
<script type="text/javascript" src="js/jquery-1.10.1.js"></script>
<script type="text/javascript" src="js/jquery.qrcode.min.js" ></script>
<body>
<div id="code"></div>
</body>
<script>
query-qrcode是采用charCodeAt()方式进行编码转换的。
//而这个方法默认会获取它的Unicode编码,如果有中文内容,在生成二维码前就要把字符串转换成UTF-8,然后再生成二维码。
//您可以通过以下函数来转换中文字符串
//搞了半天没搞懂 放弃了 直接调用就可以了
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
第一种方式: //默认使用canvas方式,效率最高,低版本ie不支持 当然要浏览器支持html5。直接调用如下:
// 内容可以是字符串或者url地址 。
$('#code').qrcode("http://www.baidu.com");
$('#code').qrcode( utf16to8("啦啦啦") ); //用来转换中文字符
第二种方式:
$('#code').qrcode({
render:"table", //提交方式:qrcode支持canvas和table两种方式进行图片渲染 : canvas方式较好 效率高 低版本ie不支持 当然要浏览器支持html5
width:200, //必须是正方形 正方形才能扫出内容
height:200,
text:utf16to8(“哈哈哈”) // 没有,号
});
</script>
</html>