【发布时间】:2022-02-21 21:19:00
【问题描述】:
我正在使用html2canvas,我有下一个功能
hml2canvas($('body'), {
onrendered: function(canvas) {
data = canvas.toDataURL('image/jpeg');
}
});
现在,我想返回数据值,所以我尝试了这个
html2canvas($('body'), {
onrendered: (this, imgBase64)
});
var data;
function imgBase64(canvas) {
data = canvas.toDataURL('image/jpeg');
}
console.log(data);
但是当我看到控制台时,我得到“未定义”。如果我将console.log(data); 放在imgBase64 函数中,我会得到图像的base64,但我需要从该函数中取出data 才能使用它。
有任何想法吗?
谢谢。
【问题讨论】:
-
在调用
imgBase64之前,您正在记录data。 -
您想用
onrendered: (this, imgBase64)完成什么?我什至不确定这是有效的语法。 -
通过 Ajax 解释异步代码:stackoverflow.com/q/14220321/1331430 原理相同。
-
@jbabey:从技术上讲,它是有效的语法,两个表达式用逗号分隔,但可能不是 OP 打算做的。检查这个 jsbin,它会抛出各种警告,但代码可以工作 jsbin.com/ucomir/1/edit
标签: javascript jquery html html2canvas