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