生成二維碼,並解決生成后不是圖片手機無法下載問題


業務需求,手機微信公眾號內生成二維碼,點擊后可保存圖片

運用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的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM