Javascript 根据帮助文档中的新语法重写html2canvs

Javascript 根据帮助文档中的新语法重写html2canvs,javascript,jquery,html,canvas,html2canvas,Javascript,Jquery,Html,Canvas,Html2canvas,我刚刚下载了html2canvs 0.5。给定的语法似乎与0.4有所不同 我更愿意遵循新的语法。我使用的是onrendered,因为我必须设置高度、宽度、透明度等 html2canvas(document.getElementById('elem'), { onrendered: function(canvas) { document.getElementById('holder').appendChild(canvas); }, width: widthV

我刚刚下载了html2canvs 0.5。给定的语法似乎与0.4有所不同

我更愿意遵循新的语法。我使用的是
onrendered
,因为我必须设置高度、宽度、透明度等

html2canvas(document.getElementById('elem'), {
    onrendered: function(canvas) {
       document.getElementById('holder').appendChild(canvas);
    },
    width: widthVar,
    height: heightVar,
    background: undefined,
    letterRendering: true,
    useCORS: true
});
我的问题是如何使用新语法实现相同的操作(设置高度、宽度、透明度等)

符合帮助文档的新语法:

document.querySelector("button").addEventListener("click", function() {
    html2canvas(document.querySelector("#elem"), {
      canvas: canVar
    }).then(function(canvas) {
       console.log('Drew on the existing canvas');
    });
}, false);

我找不到您参考的帮助文档,但您尝试过这个吗

document.querySelector("button").addEventListener("click", function() {
    html2canvas(document.querySelector("#elem"), {
      canvas: canVar,
      width: widthVar,
      height: heightVar,
      background: undefined,
      letterRendering: true,
      useCORS: true
    }).then(function(canvas) {
       console.log('Drew on the existing canvas');
    });
}, false);

您所指的新语法只是一个函数的返回,它允许异步执行代码,而不需要事件侦听器(即
onrendered

所以唯一改变的*事情就是这个回调,现在应该将它包装在
then()
方法中。 其他选项应仍然相同,语法仍然是包含这些选项作为键的对象:

html2canvas(document.getElementById('elem'){ 宽度:widthVar, 高度:heightVar, 背景:未定义, 是的, 乌塞科尔斯:是的 }).then(功能(画布){ document.getElementById('holder').appendChild(画布); })

*其他一些事情可能已经改变了,但在你的特殊情况下,这似乎无关紧要