首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >excanvas + Dojo: getContext未定义

excanvas + Dojo: getContext未定义
EN

Stack Overflow用户
提问于 2010-07-17 20:20:56
回答 1查看 812关注 0票数 2

当我在IE7/WinXP32 32中执行下面的代码时,控制台中的输出将“未定义”。当我做两个修改之一时,输出将更改为预期的"getContext()“:

  • I移除图像标记.
  • I使用:

知道这是怎么回事吗?什么是解决办法?

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC 
  "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
  <title>Canvas</title>        
  <script type="text/javascript">
    var djConfig = {parseOnLoad: false, isDebug: true};
  </script>
  <script type="text/javascript" 
    src="/development/javascript/dojo-release-1.4.3-src/dojo/dojo.js">
  </script>
  <!--[if IE]>
    <script type="text/javascript" src="/javascript/excanvas_r73.js"></script>
  <![endif]-->
  <script type="text/javascript">
    function draw() {
        var canvas = dojo.byId("canvas");
        console.log(canvas.getContext);
    }

    dojo.addOnLoad(draw);
  </script>
</head>

<body>
  <canvas id="canvas" width="100" height="100"></canvas>
  <img src="nonexisting.gif">
</body>

</html>

更新:似乎用下面的代码替换了“dojo.addOnLoad(抽签)”。

代码语言:javascript
复制
function init() {
    dojo.addOnLoad(draw);
}

if (dojo.isIE) {
    dojo.connect('onload', init);
} else {
    init();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-18 06:07:30

dojo.addOnLoad在document.onload之前开火。我认为这与DOMContentLoaded有关。也许excanvas会在同一事件上初始化吗?你能用document.onload吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3273118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档