第一步,把網頁儲存為Canvas畫布,借助於html2canvas庫,http://html2canvas.hertzen.com/
html2canvas(document.getElementById("id1"), { onrendered: function(canvas) { document.getElementById("id2").appendChild(canvas);//生成画布后如何处理,当然可以在新标签打开,在浮层展示等等 }, canvas_id: 'canvas'//通过修改html2canvas源码添加canvas的id });
Note:html2canvas()第一個參數為要產生canvas的區域,如果整個網頁產生canvas,則是document.body。第二個參數詳見官網設定canvas的各種屬性,當然修改原始碼可以加入自己想要的屬性,例如為canvas新增id等。
第二步,把第一步驟產生的canvas儲存成圖片
var canvas = document.getElementById("<span style="font-family: Arial, Helvetica, sans-serif;">canvas"</span><span style="font-family: Arial, Helvetica, sans-serif;">),</span> url = canvas.toDataURL();// //以下代码为下载此图片功能 var triggerDownload = $("<a>").attr("href", url).attr("download", "img.png").appendTo("body"); triggerDownload[0].click(); triggerDownload.remove();
這裡關注toDataURL()方法即可,可以把canvas轉換成data形式的圖片url,把這個url賦給標籤即可顯示圖片,程式碼中其他部分為自己需要的下載功能。