仅覆盖函数中的最后一个默认参数

时间:2018-03-10 07:55:14

标签: javascript jquery html2canvas

我使用canvas2image下载我的网页截图。我想覆盖下载图像的默认文件名。它是下载图像的函数的最后一个参数。

写入图像的功能

return {
        saveAsImage: saveAsImage,
        saveAsPNG: function (canvas, width, height, fileName) {
            return saveAsImage(canvas, width, height, 'png',fileName);
        },

所以在这里我用所需的fileName覆盖了默认文件名,如下所示

我保存图片的功能

 $("#btnSave").click(function() { 
    html2canvas($("#target"), {
        onrendered: function(canvas) {
            // Convert and download as image 
            Canvas2Image.saveAsPNG(canvas,fileName = 'Calendar.png');
        }
    });
});

但是仍然按照文档

下载默认名称为Date.now()的图像
if (type == undefined) { type = 'png'; }
            filename = filename == undefined||filename.length === 0 ?Date.now()+'.'+type: filename+'.'+type

此外,我没有使用github页面中的最新库,而是使用此link定义的库 请仔细阅读此链接以查找我正在使用的实际库。我认为在最新版本中他们已经删除了fileName参数(我最初使用的是最新版本然后图像下载时带有“下载”作为名称而没有任何扩展名)

1 个答案:

答案 0 :(得分:2)

当您调用某个功能时,您需要提供所有必需的参数。

所以而不是

Canvas2Image.saveAsPNG(canvas,fileName = 'Calendar.png');

做的: -

Canvas2Image.saveAsPNG(canvas,100,100,'png','Calendar.png');

注意: - 您需要根据自己的意愿更改宽度和高度