Javascript函数不返回任何值

时间:2016-04-02 05:54:47

标签: javascript jquery asp.net

当我第一次调用此函数时,我得到了这样的异常

  

ReferenceError:未定义getCanvas。

第二次为我的函数返回值。

  1. 我想在每次通话时都有功能返回值。
  2. 提前谢谢..

    var getCanvas; // global variable      
    
    function dimage() {
        //get canvas image
        var element = $("#pnldevice");
        html2canvas(element, {
            onrendered: function (canvas) {
                $("#previewImage").append(canvas);
                getCanvas = canvas;
                alert(getCanvas);
            }
        });
        var imgageData = getCanvas.toDataURL("image/png");
        // Now browser starts downloading it instead of just showing it
        var newData = imgageData.replace(/^data:image\/png/, "data:application/octet-stream");
        $("#btn-Convert-Html2Image").attr("download", "your_pic_name.png").attr("href", newData);
    };
    

1 个答案:

答案 0 :(得分:0)

你应该只在准备就绪时使用getCanvas,当你调用html2canvas时,你的画布还没有立即就绪,你试图使用它。
您的所有代码都应该在初始化的onrendered函数中,您可以使用对另一个函数的调用来将您的代码与html2canvas分离。

我不知道html2canvas,我在全球范围内了解大多数图书馆的行为。

注意:你不应该将你的变量命名为getCanvas,我们保持get for function(action)它似乎是一个对象。

{{1}}

所有JS画布世界都非常复杂,如果你是初学者,你可能缺乏基础知识。

注意,下载属性无效,要使用自定义属性,请使用data => .data(" download"," your_pic_name.png")和.data(" download")。