生成二维码,并解决生成后不是图片手机无法下载问题

业务需求,手机微信公众号内生成二维码,点击后可保存图片

运用jquery qrcode.js 可生成二维码,因为是使用的canvas,所以注意一定要支持H5,
代码如下

JS:
$('#code').qrcode("http://www.baidu.com")

HTML:
<div id="code"></div> 

代码很简单,但在手机微信中遇到了问题。
canvas是直接在页面中绘制的二维码,手机微信中无法点击保存分享或者识别二维码。

解决方法,通过canvas的toDataURL("image/jpeg");将绘制的二维码转成img图片,代码如下

JS:
var canvas = document.getElementsByTagName('canvas')[0];
var image = new Image();
image.src = canvas.toDataURL("image/jpeg");
document.getElementById('image').src=image.src;

HTML:
<img id="image">

将canvas转存到img中,之后就可以在手机上保存了
还有一点需要注意的,记得转存后把canvas删掉,要不然会显示两个二维码,也会导致img重复取第一个canvas的值。

posted @ 2017-04-21 15:54  breathxin  阅读(1833)  评论(0编辑  收藏  举报