首页 > 代码库 > JS调用产生二维码
JS调用产生二维码
之前一直采用的是java后台调用qrcode.jar的形式产生二维码,然后web前台展示的形式显示二维码,后来感觉如果能调用JS框架产生二维码的话不久更好。至少能减少与浏览器的交互次数,减轻后台的压力。
搜了一些资料后感觉没有一个拿来就能用的,至少IE浏览器的兼容还是有问题,通过自己的调试写了一个demo.希望能够帮助到大家,为大家节省时间
具体的demo可以通过http://download.csdn.net/detail/fugui6611634/7337467来下载
将一个字符串(可以是中文,在生成二维码图片之前将中文转码)生成二维码图片,如果想要带log的二维码,可以在生成后的二维码中间部位自己添加一个小log,log图片不要太大,不然就扫描不出内容了。
[html] view plaincopyprint?
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <script src=http://www.mamicode.com/"js/jquery-1.8.3.js" type="text/javascript"></script>
- <script src=http://www.mamicode.com/"js/jquery.qrcode.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(function () {
- $("#bt").bind("click", function () {
- text = $("#text").val();
- $("#div_div").qrcode(utf16to8(text));
- })
- })
- 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;
- }
- </script>
- </head>
- <body>
- <input type="text" id="text" />
- <input type="button" value=http://www.mamicode.com/"shengc" id="bt" />
- <div id="div_div" style="width:400px;height:400px;border:1px solid #000;"></div>
- </body>
- </html>
<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <script src=http://www.mamicode.com/"js/jquery-1.8.3.js" type="text/javascript"></script>>
- jQuery(‘#output‘).qrcode({width:200,height:200,correctLevel:0,text:content});
- 具体的参数说明参见以下
- render : "canvas|table",//设置渲染方式
- width : 256, //设置宽度
- height : 256, //设置高度
- typeNumber : -1, //计算模式
- correctLevel : QRErrorCorrectLevel.H,//纠错等级
- background : "#ffffff",//背景颜色
- foreground : "#000000" //前景颜色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。