网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成。本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于@R_292_403@的网站,虽然有服务器端缓存,毕竟需要大量的cpu运算时间,这或多或少也是很大的一块压力。所以就想,有没有一种不靠服务器,就只靠JS就生成二维码呢,毕竟二维码就是一堆黑白点而已。我也没有刻意去找网络上是否已经存在这样的解决方案,而且自己一直想深入分析二维码的生成细节,现有的项目也有这样的需求,于是我自己研究了下,写下了这么个qr.js。
大家可以从这个地址下载:http://files.cnblogs.com/JerryWeng/qr.js
先看看这个东西的效果:
它有两种输出模式:
第一种是直接通过对于base64的支持,把二维码数据转成一个bmp编码的base64数据字符串作为
的src:
第二种是把每个点做成一个div,然后通过css变成一个黑白点的矩阵
这是测试的HTML代码:
