最近遇到在浏览器中生成二维码,并将二维码转换成图片下载到本地的需求
总的来说,有以下几个步骤
字符串转换成二维码
这里可以使用插件 qrcode.js 生成,可以通过canvas
(IE9+) 和table
(IE8) 两种方式生成。$("#qrcode-container").empty().qrcode({ text: "http://www.baidu.com/" });
Canvas转换成Base64,然后转换成Blob对象
canvas
的toDataURL
方法可以将canvas转换成base64格式,再进一步生成Blob对象下载。因此在这一步,不支持Canvas的IE8就没办法生成base64了,而IE9也无法使用Blob对象,无法进行下一个步骤。