Canvas.toDataURL() 未捕获类型错误:未定义不是函数

2023-12-13

我正在使用一个名为 html2canvas 的插件将页面上的一些 html 转换为 canvas 元素。然后我想将该画布保存为图像。不幸的是我一直遇到标题中的错误。我尝试过使用不同的变量名、不同的 html 等。但不断遇到相同的错误。这是我的代码(通过单击按钮触发):

JS

function generate(){
        html2canvas($('#b2_1'), {
            onrendered: function(canvas) {
                canvas.setAttribute("id", "canvas");
                document.body.appendChild(canvas);
            }
        });//this all works, the canvas appears as expected

        var myCanvas = $(document).find('#canvas');
        myCanvas.css("margin-left", "50px");//this was to test I was selecting the right element, the canvas moves
        var myImg = myCanvas.toDataURL();//code breaks here
    }

好吧,我发现我的问题是我试图打电话toDataURL()在我的 jQuery 对象而不是我的画布元素上。为了解决这个问题,我使用了.get(0)。完整代码如下:

function generate(){
        html2canvas($('#b2_1'), {
            onrendered: function(canvas) {
                canvas.setAttribute("id", "canvas");
                document.body.appendChild(canvas);
            }
        });//this all works, the canvas appears as expected

        var myCanvas = $(document).find('#canvas');
        myCanvas.css("margin-left", "50px");
        var myImg = myCanvas.get(0).toDataURL();//have to get the canvas element from the jquery object
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Canvas.toDataURL() 未捕获类型错误:未定义不是函数 的相关文章

  • 按下了哪个提交按钮?

    在这个jsfiddle中 http jsfiddle net littlesandra88 eGRRb http jsfiddle net littlesandra88 eGRRb 我是否提交了自动生成的按钮 每个表行都有一个唯一的 ID
  • 使用 javascript 调用 ViewComponent

    我有一个带有几个视图组件的网页 当我单击这些组件时 我会为其打开一个简单的编辑器 请参见下图 如果我编辑文本并按 Enter 键 我想重新渲染视图组件而不是孔页面 是否可以使用 javascript 调用视图组件来获得此行为 通过更新 您现
  • browserify 错误 /usr/bin/env: 节点: 没有这样的文件或目录

    我通过 apt get install 安装了 node js 和 npm 以及所有依赖项 然后安装了 browserify npm install browserify g 它完成了整个过程 看起来安装正确 但是当我尝试为此做一个简单的捆
  • 最小的 ExtJS 包是什么?

    有谁知道 Ext JS 2 2 所需的最少文件吗 我知道 ExtJS 网站有一个功能 build http extjs com products extjs build ExtJS ext js 的小版本 作为 ext all js 的替代
  • 一个 Next.js 路由中的两个不同子域

    我想使用构建一个新平台Next js https nextjs org React js https reactjs org and 反应路由器 https reacttraining com react router web guides
  • 区分单击与 mousedown/mouseup

    我已经阅读了有关这种情况的 stackoverflow 上的几个答案 但没有一个解决方案有效 我尝试根据用户是否单击某个元素或使用 jQuery 将鼠标按住该元素来执行不同的操作 有可能做到这一点吗 onMouseDown 将在按下左侧或右
  • 为什么“dtoa.c”包含这么多代码?

    我将是第一个承认我对低级编程的整体知识有点稀疏的人 我理解许多核心概念 但我不经常使用它们 话虽这么说 我对需要多少代码感到非常惊讶dtoa c http www netlib org fp dtoa c 在过去的几个月里 我一直致力于用
  • Rails 4 - 带有 dependent-fields-rails 的条件 JS

    我正在尝试弄清楚如何在我的 Rails 4 应用程序中使用 dependent fields rails gem 我迷路了 我已将 underscore js 包含在我的供应商 javascripts 文件夹中 并更新了我的 applica
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • 比较 javascript 元素和 scala 变量的 Play 框架 Twirl 模板

    如下面的代码示例所示 我想比较 scala 辅助元素内的 javascript 元素 然而 即使存在元素 abcde 它也始终返回 false 除了使用标签之外 如何获取 scala 辅助元素内的 javascript 值 appSeq S
  • chrome 扩展 - 将数据从后台传递到自定义 html 页面

    创建浏览器扩展 我必须从 background js 打开新选项卡并将 JSON 数据传递到这个新选项卡 在新选项卡中 我使用传递的 JSON 数据来操作 渲染 DOM 下面是我的 background js 的一部分 我在其中使用自定义
  • 如何为 ng-repeat orderBy 创建回调?

    寻找一种方法让 AngularJS 的 ng repeat orderBy 过滤器在完成渲染后执行回调 Markup div table thead tr th Name th th Age th tr thead tbody tr tr
  • Google 地图 v3 中标准缩放控件的样式

    有没有一种简单的方法可以在 Google Maps JavaScript API v3 中设置缩放控件的样式 我想要的只是改变标准图像 http maps gstatic com intl en ALL mapfiles mapcontro
  • while 循环元素状态 cypress

    我有一个问题 我想单击一个按钮直到它消失 但次数可能会有所不同 所以我想检查可见性状态 当可见 true时单击按钮 当可见 false时结束测试 但问题是我不知道如何循环从获取元素到末尾的所有链 单击按钮一次 由于中断而停止 如果我删除中断
  • 单击react.js 切换列表的背景颜色

    我正在尝试创建一个具有以下功能的列表 悬停时更改列表项的背景颜色 单击时更改列表项的背景颜色 在单击的元素之间切换背景颜色 即列表中只有一个元素可以具有 clicked 属性 我已经执行了 onhover 1 和 2 功能 但无法实现第三个
  • 在 中动态添加链接样式表 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何将链接
  • 如何仅在第一次访问时弹出模态窗口

    我有一个模式窗口 当您访问某个页面时会弹出 访客必须选择我同意或我不同意 我需要一个漂亮的小 jquery 脚本 它会记住谁之前访问过该页面并同意 这样他们每次访问该页面时就不会弹出模式 有人可以推荐一个好的脚本来使用吗 这是代码 div
  • 从 Node.js 调用 execl、execle、execlp、execv、execvP 或 execvp 的方法

    POSIX 系统公开了一系列exec函数 允许人们将可能不同的东西加载到当前进程中 保留打开的文件描述符 进程标识符等 可以出于多种原因执行此操作 在我的情况下 这是引导 我想更改我自己的进程的命令行选项 然后在现有进程上重新加载它 这样就
  • Angular 5 中 Observable.ForkJoin 的重复 Http 请求

    我有一个 Angular 5 应用程序 组件中包含以下代码 ngOnInit Observable forkJoin this highlightedInsight this insightService getHighlightedIns
  • html5 canvas 使用图像作为蒙版

    是否可以使用具有形状的图像作为整个画布或画布内图像的蒙版 我想将图像放置在画布中 并在图像上添加蒙版 然后将其另存为新图像 您可以使用 source in globalCompositeOperation 将黑白图像用作蒙版 首先 将蒙版图

随机推荐

  • 如何在 Pyspark 中注册不带参数的 UDF

    我已经尝试使用 lambda 函数带参数的 Spark UDF 并注册它 但是我怎样才能创建没有参数和注册器的 udf 我已经尝试过这个我的示例代码将期望显示当前时间 从日期时间导入日期时间 从 pyspark sql functions
  • 如何删除等号('=')之前的所有字符串文本Java

    我想解析一个字符串 以便构建一个 XML 文档 I have String value path Some Xpath Here 我是这样解析的 private void parseXpath String s path Some Xpat
  • JVM 如何确保 System.identityHashCode() 永远不会改变?

    通常默认实现Object hashCode 是内存中对象分配地址的某个函数 尽管这不是由JLS 鉴于虚拟机在内存中分流对象 为什么返回的值System identityHashCode 在对象的生命周期中永远不会改变 如果是 一次性 计算
  • 在 Rust 中处理 GTK+ 事件的替代方法

    目前 我管理 GTK 活动Rc and RefCell如下例所示 extern crate gtk use std cell RefCell use std rc Rc use gtk Button ButtonExt ContainerE
  • SAPUI5 为 TreeTable/空行创建 JSON

    我想从 JSON 请求创建 SAPUI TreeTable 目前我的输出如下所示 如您所见 每个节点都包含一个空行 gt 我不知道这是从哪里来的 我不想让这些空行行 我的表定义 Create an instance of the table
  • 有没有办法强制使用dll版本?

    有没有办法强制使用特定的 dll 版本 从应用程序配置 背景故事 我们正在使用 SQL Compact 3 5 由于业务原因 是的 我知道 暂时无法迁移到 SQL Compact 3 5 SP1 我们的构建目录中有 System Data
  • foreach 循环的角度链接承诺

    我有一组照片文件需要上传到 Azure 云存储 我使用 foreach 循环调用上传 如下所示 scope savetemplate function var imagePathsArray scope filesimage scope f
  • LinkedIn 共享显示大图像的要求

    我的问题是 为什么图像很小以及如何使其变大 我已经实现了linkedIn共享 为此 我添加了元标记 og title og image og description og url 一切正常 但我的形象很小 小图像示例 大图示例 我们已经向
  • 0.5 时向上或向下舍入

    我遇到了 Javascript 在达到 0 5 时对数字进行四舍五入的方式的问题 我正在编写征费计算器 并注意到结果有 0 1c 的差异 问题是他们的结果是21480 705我的应用程序翻译成21480 71 而关税说21480 70 这是
  • 确定-取消对话框:处理“Enter”键按下

    我正在建造一个Dialog在Winforms中 当您创建它时 它有两个 确定 和 取消 按钮 这就是我想要的 在此对话框中我还有一个TextBox and a Sub VB NET 中的编码 处理其KeyPress事件 我需要按下 Ente
  • 裸星号作为方法定义中的参数:def f(*) [重复]

    这个问题在这里已经有答案了 我知道这意味着什么 def f args end 但这是什么意思以及为什么要使用它 它也可以与命名参数一起出现吗 def f end def f 具有相同的效果def f args 只不过它没有命名通配参数数组
  • Flexdashboard 侧边栏选择器输入溢出与滚动条

    在我之前的问题中shinyWidgets pickerInput 宽度问题溢出侧边栏我能够解决侧边栏中的 pickerInput 框如果值太宽会在侧边栏中被截断的问题 但是通过使用overflow visible 为了解决这个问题 当输入框
  • 如何唯一标识 ContactsContract.Contacts 表上的联系人

    我有一个应用程序可以获取ContactsContract Contacts LOOKUP KEY设备上的联系人并将其保存在应用程序数据库中 看完之后this页面我想我可以使用LOOKUP KEY唯一标识联系人 即使在编辑联系人时 例如编辑联
  • 奇怪的浮点除法结果

    我在一个grails项目中发生了这个奇怪的除法错误 但我认为grails与它无关 我认为是一个groovy或java问题 如果在常规控制台中我运行这个 float money 1 30 float r 0 01 println money
  • 绑定祖先不工作 WPF

    我有一个 TreeView 它被修改为在文本前面显示图像 所以我修改后的TreeViewItem叫做ImagedTreeViewItem 此 ImagedTreeViewItem 有一个属性 其中包含要显示的图像控件的图像 ImagedTr
  • WebDriver 测试未在 IE11 上运行

    当我运行 WebDriver 测试时 它们根本不工作 到目前为止我所做的 1 我已更新我的注册表项以包含 FEATURE BFCACHE 2 所有区域的保护模式设置均相同 3 增强保护模式被禁用 4 我还尝试在我的 PATH 中设置 IED
  • 推荐用于 JavaScript 编码的 Vim 插件? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我是 JS 和 Vim 的
  • 当位置设置为固定时,导航栏会缩小

    我目前遇到一个问题 当我将导航栏和横幅的位置设置为固定时 它们会缩小 我有很多事情 例如更改 z index 将其顶部位置设置为 0 添加自动边距等 但这些都不起作用 我希望有人能指出我的错误 这是我的html代码 html body ma
  • 有没有办法对VBS中存储的密码进行加密

    我有一个在工作中使用的 VBS 脚本 用于在连接到 Cisco 路由器和交换机时自动执行任务 包括自动执行登录过程 人们对于将密码存储在纯文本 VBS 文件中有些紧张 这并非没有道理 因此我为他们提供了每次提示输入密码或将其存储在脚本中的选
  • Canvas.toDataURL() 未捕获类型错误:未定义不是函数

    我正在使用一个名为 html2canvas 的插件将页面上的一些 html 转换为 canvas 元素 然后我想将该画布保存为图像 不幸的是我一直遇到标题中的错误 我尝试过使用不同的变量名 不同的 html 等 但不断遇到相同的错误 这是我