// 最近用到一個保存html爲圖片到本地的功能(保存到下載目錄),記之,該功能IE使用Blob 存儲數據,關於兼容性問題參見以下表格,其餘瀏覽器使用a標籤download屬性新功能下載html
Browser | Constructs as | Filenames | Max Blob Size | Dependencies |
---|---|---|---|---|
Firefox 20+ | Blob | Yes | 800 MiB | None |
Firefox < 20 | data: URI | No | n/a | Blob.js |
Chrome | Blob | Yes | 500 MiB | None |
Chrome for Android | Blob | Yes | 500 MiB | None |
Edge | Blob | Yes | ? | None |
IE 10+ | Blob | Yes | 600 MiB | None |
Opera 15+ | Blob | Yes | 500 MiB | None |
Opera < 15 | data: URI | No | n/a | Blob.js |
Safari 6.1+* | Blob | No | ? | None |
Safari < 6 | data: URI | No | n/a | Blob.js |
// 步驟一:引入html2canvas.js git
//步驟二:完成如下方法便可github
function downloadForJS(){canvas
//使用html2canvas 轉換html爲canvas
html2canvas($("#ID")).then(function(canvas) {
if(IE){ //判斷IE下保存方法
var blob = canvas.msToBlob();
window.navigator.msSaveBlob(blob, fileName);
}else{//其餘瀏覽器保存方法
var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 獲取生成的圖片的url
var saveLink = document.createElement( 'a');
saveLink.href =imgUri;
saveLink.download = fileName; saveLink.click();
}
});
}瀏覽器
更多兼容性問題參考:https://github.com/eligrey/FileSaver.jsgoogle