第一步,把網頁保存為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賦給<img/>標簽即可顯示圖片,代碼中其他部分為自己需要的下載功能。