canvas getContext("2d") 返回 null

2024-03-23

我已经尝试了几种不同的方法,但我一直遇到同样的错误。我之前已经将图像加载到画布上,但自从几天前更新了 Safari 以来,我遇到了错误。

我将发布我目前拥有的内容,但我尝试使用 jQuery、html 的 onLoad 属性等来实现。

var cvs, ctx, img;
function init() {
   cvs = document.getElementById("profilecanvas");
   ctx = cvs.getContext("2d"); /* Error in getContext("2d") */
   img = document.getElementById("profileImg");
   drawImg();
}

function drawImg() {
   ctx.drawImage(img, 0, 0);
}

window.onload = init();

ID 是正确的并且对应于适当的 canvas 和 img 标签。然而,我不断得到TypeError: 'null' is not an object (evaluating 'cvs.getContext')而且似乎没有进一步进展。我确信这是一些 ID10T 错误,但我希望有人能给我一个线索,告诉我是什么原因造成的?谢谢。

编辑: 好的,这似乎可以使用<body onload="init()">现在。但是,它只是偶尔显示,如果我尝试运行init() off of $(document).ready() or document.onload我仍然没有运气,并收到错误。有什么想法吗?


对于在搜索时点击此页面的其他人getContext http://dev.w3.org/html5/spec/the-canvas-element.html#dom-canvas-getcontext返回 null,如果您已经请求了不同类型的上下文,则可能会发生这种情况。

例如:

var canvas = ...;
var ctx2d = canvas.getContext('2d');
var ctx3d = canvas.getContext('webgl'); // will always be null

如果颠倒调用顺序,同样如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

canvas getContext("2d") 返回 null 的相关文章

  • 向回调函数添加附加参数

    我正在 Node js 中构建一个系统 该系统应该查找文件夹数组中的所有文件 统计它们 然后使用该信息执行一些其他工作 我使用 fs readdir 从每个文件夹同步获取所有文件 我的代码如下所示 for i 0 max paths len
  • GWT 与 ScriptSharp 的优缺点 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JavaScript 中使用 eval() 执行用户输入的安全风险

    我计划为我的学生制作一个快速网页来教他们 JavaScript 编程 在此页面上 我想为他们提供一个文本框并允许他们运行 JavaScript 以便他们可以看到该语言在工作中的动态特性 然而 我很清楚 对用户输入使用 eval 通常是一个非
  • 使用 JavaScript 访问 Jekyll 变量并通过 DOM 操作传递它

    我很可能有错误逻辑 但我刚刚学习 JavaScript 和 Jekyll 我的目标是通过 JavaScript 操作 HTML 元素 并将一些 Jekyll 变量放置在该元素的内部 HTML 中 一切都从本地开发目录加载jekyll ser
  • 使用递归获取嵌套对象中的所有父对象

    我有以下对象 const object id 1 name a children id 2 name b children id 3 name c id 4 name d 我需要一个接受对象和最后一个子对象的
  • 在 Javascript 中获取类的所有实例

    我以为这个问题已经有了答案 但我似乎找不到答案 如何在 Javascript 中的此类的所有实例上运行特定的类方法 这必须在我不知道实例名称的情况下完成 我想我可以在类中使用某种静态变量来存储所有实例 但这在 JS 中似乎不存在 那么如何在
  • 什么是window.onpaint?

    有人推荐here https stackoverflow com questions 6944037 how to run java script code before page load that window onpaint用于在页面
  • vuetify v-text-field 给定值后背景颜色发生变化

    我正在使用 vuetify 创建登录表单 并使用 v text field 作为输入 当有字段建议时就会出现问题 例如 我的浏览器中保存了多封电子邮件 它会在电子邮件字段上为我提供这些电子邮件的建议 到目前为止一切都很好 但是当我选择其中之
  • 使用 html 表收集提交表单中的各种数据

    我有一个 jsp 页面 其中包含一个表 分页并带有顺序列 一个搜索字段和其他基于复选框的过滤器 这样 当我单击按钮时 它会采用表格的分页 表格的顺序 搜索字段中的值以及最终的其他参数 复选框 来执行查询 目前 该表具有分页和使用标签库排序的
  • 如何使用Sinon监视导入的函数?

    假设我们想使用 Sinon 测试另一个函数是否调用了一个特定函数 fancyModule js export const fancyFunc gt console log fancyFunc export default const fan
  • 使用 arrayRemove() 从 firestore 9 数组中删除对象?

    我正在尝试从 firestore 中的数组中删除一个对象 但遇到了障碍 执行删除的要求或参考是什么 对象中的一个键值是否足以执行删除操作 或者该对象是否应该与要删除的对象相同 const deleteWeek async gt const
  • 动态创建多个上传文件

    我想知道是否有人知道动态创建上传表单的最佳方法 这就是我想要实现的目标 下面显示的代码允许一次上传 我想要一个按钮 按下该按钮后 应添加另一种形式用于文件上传 因此 如果我想上传 假设有 7 个文件 我想按按钮 7 次来创建这些上传表单 每
  • 我想从 Cakefile 运行 d3

    我想从命令行执行一些 d3 代码 最初我只是尝试了类似的方法 task data Build some data with d3 gt d3 require lib d3 v2 console log d3 version d3 versi
  • 如何对列表进行垂直排序?

    我在下面使用这个HTML and CSS对列表进行排序的代码vertical 输出是horizontal sorted 我的示例代码
  • css打印模式:仅在生成的word文档的第一页上显示页眉和页脚

    我使用 html 代码成功生成了 Word 文档 其中页眉和页脚以 css 打印模式设置样式 这是我的代码
  • Knockout JS 与 Ratchet 和 Push.js 配合得很好,直到我添加数据转换

    我正在使用 Ratchet js push js 库为移动 Web 应用程序创建 UI 在这个库中 链接是通过将要加载的文件 推送 到 content DOM 元素中而不是加载整个页面来处理的 但是 push js 在加载页面时不会加载它找
  • 在响应式网格上设置多个“相同高度”行部分的 CSS 唯一解决方案

    Wanted 仅 CSS 的解决方案 可在每行基础上启用多个等高网格 部分 并且也是响应式的 注意 这是一个后续问题这个问题 https stackoverflow com questions 44115503 css only solut
  • 如何使用 Chart.js 在堆积条形图中显示内联值?

    我正在使用 Chart js 库在堆叠条形图中显示一些值 但我正在努力找出如何显示条形图中的值 即 现在 我有以下代码 可以在条形顶部显示数字 但我想知道如何在条形内部显示它们 var numberWithCommas function x
  • 在 JavaScript 中将带有哈希值的十六进制字符串转换为带有 0x 的十六进制值的最佳方法?

    这个问题不是问如何将哈希字符串十六进制值转换为其相反的颜色 这个问题询问如何将哈希字符串十六进制值转换为常规十六进制值 如下所述 我从元素的存储样式中获取元素的十六进制颜色值 我需要将它们的十六进制值 带有像 FFFFFF 这样的哈希值的字
  • 如何使用 Playwright 打开新选项卡(例如,单击按钮在新选项卡中打开新部分)

    我正在寻找针对当前情况的更简单的解决方案 例如 您打开 google 任何其他网站 并且希望通过单击按钮 例如 Gmail 使用 Playwright 在新选项卡中打开此页面 let browser page context describ

随机推荐

  • jquery ajax post - 如何取回数据?

    我有一个包含一系列图像的个人资料页面 我想使用 jQuery 允许用户从服务器删除图像并更新页面 而无需重新加载整个页面 成功后 它将从页面中删除包含图像的 div 我的删除函数是PHP的 相当简单 删除 php 已经有用户身份验证 只是为
  • 如何写入 Visual Studio 2010 AddIn 中的输出窗口?

    我正在编写一个简单的 Visual Studio 2010 插件来完成工作中的常见复制工作 从 libs sln 获取 dll 我希望将复制进度写入输出窗口 I tried Trace WriteLine 希望能够成功 但是当我在调试器中运
  • JQuery 更新数据-属性/值

    我有一个看起来像这样的 DIV 利用 data gauge 属性 div class uib justgage gauge no wrap widget uib w 6 div
  • OpenJPA 和 Spring-boot 配置

    我正在努力解决 spring boot 应用程序的基本配置 并使用 OpenJPA 作为 jpa 实现 基本上我总是以 引起原因 org apache openjpa util MetaDataException 类型 class com
  • 使用 Felix 和 Maven 创建完整的 OSGi 应用程序

    我有一组使用 Maven 构建的 OSGi 包 我想知道是否有一个可用的 Maven 插件可以让我执行以下操作 指定要包含在发行版中的一组捆绑包和 或指定单个捆绑包并解决依赖关系 构建一个完整的分发框架 我的意思是一个包含所有需要的包的 z
  • 如何计算术语-文档矩阵?

    我知道术语文档矩阵是一个数学矩阵 描述文档集合中出现的术语的频率 在文档术语矩阵中 行对应于集合中的文档 列对应于术语 我在用sklearn 的 CountVectorizer从字符串 文本文件 中提取特征以减轻我的任务 以下代码根据以下内
  • 使用 PhpUnit 时 Composer 无法加载加载器

    我正在尝试将 PhpUnit 与 Composer 一起使用 为了这个目的我做了 1 将 phpunit 添加到 req Composer 部分 require php gt 5 3 0 require dev phpunit phpuni
  • 在sql server 2008中将varchar转换为十进制

    我将此数据作为 varchar 00072330 如何将其转换为 SQL Server 2008 中类似 723 30 的小数 尝试这个 declare data as varchar 8 set data 00072330 print c
  • VS2015 或 NP++ 中的多行正则表达式

    我需要在多个文件中替换以下模式 this dialogs 当我设置时这工作正常single line在这里标记 https regex101 com r dF2yG3 2 https regex101 com r dF2yG3 2 但是我无
  • python创建DDE服务器并不断发送数据

    我正在尝试用 python 编写一个 DDE 服务器 它需要将不断变化的字符串发送到作为 DDE 客户端连接的程序 连接到 DDE 服务器的程序使用以下 DDE 设置来连接 服务 Orbitron 主题 Tracking 项目 Tracki
  • 在额外维度上扩展 NumPy 数组

    在额外维度上扩展给定 NumPy 数组的最简单方法是什么 例如 假设我有 gt gt gt np arange 4 array 0 1 2 3 gt gt gt shape 4 gt gt gt expand np arange 4 0 6
  • 有没有办法增加 Google Chrome 中 localStorage 的大小以避免 QUOTA_EXCEEDED ERR: DOMException 22

    我编写了一个网络应用程序 允许您将图像存储在 localStorage 中 直到您点击保存 因此 如果信号较差 它可以离线工作 当 localStorage 达到 5MB 时 Google Chrome 会在 javascript 控制台日
  • 在 Python 3 中查找网站中最常见的单词 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要使用 Python 3 代码查找并复制在给定网站上出现超过 5 次的单词 但我不知道该怎么做 我已经浏览了有关堆栈溢出的档案 但
  • JQuery 在事件上加载脚本(点击)

    selector click function here I would like to load a javascript file let s say js script on click event js 这有可能吗 我不确定 但我记
  • 我可以在ironpython中使用命名参数和可选参数吗

    我希望在ironpython中加载 net dll 但是 net dll 中的静态函数之一有一些命名参数和可选参数 比如 绘制 重量 w 高度 h 面积 1 我只能使用完整的参数吗 完全支持命名参数和可选参数 NET 长期以来一直支持 VB
  • 为什么在非 ARC 环境中的属性上使用关键字“strong”?

    我刚刚开始使用 Xcode 4 2 和 iOS5 进行开发 创建空的选项卡式应用程序项目后 我注意到属性上使用了新的关键字 strong 我继续读下去这个帖子 https stackoverflow com questions 670102
  • HTML 'class' 元素属性可以包含换行符吗?

    HTML5 元素的 class 属性可以包含换行符吗 规范中是否允许并且浏览器支持它吗 我问这个问题是因为我有一些代码可以动态地将各种类插入到元素中 这创建了一个很难管理的很长的行 通常我会使用变量构建类值 但我使用的 CMS 要求模板条件
  • Thread.start() 和 Thread.run() 有什么区别?

    为什么我们称start 方法 该方法又调用run method 我们不能直接打电话吗run 请举例说明有什么区别 不 你不能 调用run就会执行run 方法在同一个线程中 无需启动新线程
  • 模板函数的模板参数

    我刚刚发布了一个skiplist容器库 Sun 编译器对此有抱怨 template
  • canvas getContext("2d") 返回 null

    我已经尝试了几种不同的方法 但我一直遇到同样的错误 我之前已经将图像加载到画布上 但自从几天前更新了 Safari 以来 我遇到了错误 我将发布我目前拥有的内容 但我尝试使用 jQuery html 的 onLoad 属性等来实现 var