html生成圖片並保存到本地方法(Windows)

// 最近用到一個保存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

相關文章
相關標籤/搜索