首页 > 解决方案 > 最新版本的 HTML2CANVAS 在 Chrome、Firefox 中不起作用

问题描述

我已将 html2canvas 从 0.4 更新到 1.0.0,并使用下面的函数截屏。

该功能和 html2canvas 不起作用,我收到以下错误。

我该如何解决?

icefaces-compat.js.jsf?ln=ice.compat&v=3_3_0_130416:1 2ms html2canvas: onrendered 选项已弃用,html2canvas 返回一个 Promise,其值为 canvas

function screenshotChrome() {
    var target = $(document.body);
    html2canvas(target, {
        useCORS: true,
        onrendered: function (canvas) {
            canvas.UniversalToBlob(function (blob) {
                    saveAs(blob, "aScreenshot.png");
                },
                "image/png", 1);
        }
    });
}

标签: javascripthtml2canvas

解决方案


我不熟悉该库,但错误表明此版本使用 aPromise而不是使用onrendered回调选项。因此,它(可能)使用如下:

html2canvas(target, {
  useCORS: true
})
  .then(function (canvas) {
    canvas.UniversalToBlob(function (blob) {
      saveAs(blob, "aScreenshot.png");
    }, "image/png", 1);
  })
  .catch(function (err) { console.log(err); });

推荐阅读