2017-06-03 72 views
0

我正在試圖製作一個按鈕來捕獲並保存我的頁面。使用html2canvas保存圖像 - Pure Javascript

現在,我可以使用我需要的分辨率來複制它,但不是顯示它需要顯示一個對話框並將其另存爲「另存爲...」以重命名該文件。

function myRenderFunction(canvas) { 
    destination.appendChild(canvas); 
} 

var element = document.getElementById('element'); 
var destination = document.getElementById('destination'); 



html2canvas(element, { 
    scale: 3, 
    onrendered: myRenderFunction 
}); 

這是我當前進程的JSFiddle

回答

0

在本地保存的圖像,你可以改變你的渲染功能如下:

function myRenderFunction(canvas){ 
    var a = document.createElement('a'); 
    // toDataURL defaults to png, so we need to request a jpeg, then convert for file download. 
    a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream"); 
    a.download = 'somefilename.jpg'; 
    a.click(); 
} 

這是計算器How to save img to user's local computer using HTML2canvas

+0

的回答我的意思是一個「另存爲窗口」,用戶可以選擇捕獲的名稱和目的地。 –

+0

該對話框取決於瀏覽器。如果在chrome上已經在chrome設置中設置了下載文件夾,那麼該文件將立即下載到那裏,而沒有對話框,否則它會顯示對話框。但這完全取決於瀏覽器。沒有其他選項可以用JavaScript下載文件。 –

+0

謝謝,我不知道。它確實有用,但它很奇怪,我不知道爲什麼我不能用按鈕來實現它。 [JSFiddle](https://jsfiddle.net/Leshautsdurant/tvyux7eo/18/) –