我正在尝试为画布生成一个url。以下是我遵循的步骤:
var can = document.getElementsByTagName("canvas");
var src = can.toDataURL("image/png");当我尝试在firebug上运行上面的代码时,它抛出了一个错误:
TypeError: can.toDataURL is not a function我在ubuntu上运行火狐8。
发布于 2016-01-22 19:32:40
仔细检查,您正在运行toDataURL()画布对象本身,而不是在上下文对象上。
发布于 2011-12-29 19:49:55
var can = document.getElementsByTagName("canvas"); 这将返回一个画布元素数组。您需要通过id获取画布。
var can = document.getElementById("canvasId"); 发布于 2016-06-18 01:02:15
在公认的答案中没有提到的事情:即使使用ID选择器,jQuery的Sizzle也会返回一个对象/集合。因此,如果在使用jQuery时遇到此错误,请使用[0]附件访问元素的第一个索引。如果您很好奇,可以使用console.dir($('#canvasId));来探索这些索引
例如,这个完全正常的选择器将失败:
var src = $('#canvasId').toDataURL("image/png");但是这个可以工作(注意额外的括号):
var src = ($('#canvasId')[0]).toDataURL("image/png");https://stackoverflow.com/questions/8667458
复制相似问题