6

如果我调用这个函数,总是得到“未定义 html2canvas”。

makeScreenshot: function(button)
{
    debugger;
    html2canvas(document.body, {
        Uncaught ReferenceError: html2canvas is not defined
        onrendered: function(canvas) {
            document.body.appendChild(canvas);
        }
    });
},

但为什么?我有一堂课……就像在教程中写的一样。有没有人有办法解决吗?

我想我需要在这里包含 html2canvas,但我不知道如何。

Ext.define("TEST.controller.Desktop", {
    extend: "Ext.app.Controller",

    views: [
        "desktop.Desktop",
        //"desktop.TaskBar",
        "desktop.Toolbar",
        "desktop.DataprovidersDataView",
        "configuration.UploadFileWindow"
    ],

refs: [{
    ref: "viewport",
    selector: "viewport"
}, {
4

3 回答 3

6

Ext 对未定义为类系统一部分的类一无所知,您需要在 html 中使用 script 标签包含 JS 文件。

于 2013-08-14T13:41:36.923 回答
1

如果是 Node.js 应用程序,请尝试在使用该函数的 JS 文件中使用以下代码导入:

import html2canvas from 'html2canvas';
// Or
const html2canvas = require('html2canvas');

对于 react、vuejs 或 Angular2+ 应用程序,您可以在 JS 或 TS 文件中使用以下内容:

import html2canvas from 'html2canvas';
于 2020-09-02T06:19:31.070 回答
0

在我的情况下,您需要包含所需的库:

  1. 插件\导出\库\blob
  2. 插件\导出\库\类列表
  3. 插件\导出\库\blob\fabric.js
  4. 插件\导出\库\blob\jszip
  5. 插件\导出\库\blob\pdfmake
  6. 插件\导出\库\blob\xlsx
于 2018-07-17T09:18:49.733 回答