業務需求,手機微信公眾號內生成二維碼,點擊后可保存圖片
運用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的值。