2017-06-03 38 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/) –