我是新来javascript,并有一个错误。我确信我跳过一些基本概念......对不起。toDataURL返回错误“未捕获TypeError:无法读取属性'0'未定义”
这里是问题所在。
我在我的html使用此代码:
<div>
<script type='text/javascript'>
var myCanvas = document.getElementsByTagName("canvas");
document.write('<img src="'+myCanvas[0].toDataURL("image/png")+'"/>');
</script></div>
我只有一个画布上我的文档。我在Chrome中看到的错误是:
Uncaught TypeError: Cannot read property '0' of undefined sankey.html:128 (anonymous function)
如果我在Java脚本铬控制台输入
document.write('<img src="'+myCanvas[0].toDataURL("image/png")+'"/>');
(确切的同一行),它的工作原理!这怎么可能?
没有看到更多的代码,一个可能的原因可能是你的JavaScript的HTML文件中的canvas元素之前。这会导致您的脚本在您的canvas元素存在之前运行。之后,当您使用控制台时,它确实存在,您的代码可以工作。 – Willem