Html 未捕获类型错误:无法调用方法';toDataURL';空的

Html 未捕获类型错误:无法调用方法';toDataURL';空的,html,canvas,save,image,Html,Canvas,Save,Image,我在尝试保存使用html2canvas生成的图像时遇到了此错误消息 所以我写了这段代码: <div id"mycanvas"> <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div> <div id="container2" style="min-width: 400px; height: 400px; margin: 0 aut

我在尝试保存使用html2canvas生成的图像时遇到了此错误消息

所以我写了这段代码:

<div id"mycanvas">
    <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
    <div id="container2" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
    <div id="container3" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
</div>

 </page> 


<script type="text/javascript">
var canvas = document.getElementById("mycanvas");
var img    = canvas.toDataURL("image/png");
document.write('<img src="'+img+'"/>');
    </script>   

var canvas=document.getElementById(“mycanvas”);
var img=canvas.toDataURL(“image/png”);
文件。写(“”);
即使渲染的图像在缓存中并且使用html2canvas生成,我也不知道如何保存它

此代码似乎没有错误,但它向我显示了此错误消息

所以我有点迷路了

以下是错误消息:

Uncaught TypeError: Cannot call method 'toDataURL' of null export-graphic-stat_employee.php:241
html2canvas: Preload starts: finding background-images Core.js:18
html2canvas: Preload: Finding images Core.js:18
html2canvas: Preload: Done. Core.js:18
html2canvas: start: images: 0 / 0 (failed: 0) Core.js:18
Finished loading images: # 0 (failed: 0) Core.js:18
html2canvas: Renderer: Canvas renderer done - returning canvas obj Core.js:18
Screenshot created in 167 ms<br /> Core.js:18
uncaughttypeerror:无法调用null export-graphic-stat_employee.php:241的方法“toDataURL”
html2canvas:Preload开始:查找背景图像Core.js:18
html2canvas:Preload:Finding images Core.js:18
html2canvas:预加载:完成。Core.js:18
html2canvas:start:images:0/0(失败:0)Core.js:18
已完成加载映像:#0(失败:0)Core.js:18
html2canvas:Renderer:Canvas Renderer done-返回Canvas obj Core.js:18
167毫秒创建的屏幕截图
Core.js:18
受到我最大的尊重

亲切的问候


S.p.

这里缺少一个等号

<div id"mycanvas">
将返回null

调用
null.toDataURL(“image/png”)是向您提供错误消息的内容

编辑:如果您想实际使用toDataURL,那么该方法仅适用于实际的画布元素,并且您正试图在
div
上使用它。相反,删除
div
上的id,然后添加

<canvas id="mycanvas" width="400" height="400" > </canvas>


或者使用HTML2Canvas生成的画布中的实际画布id来处理实际的画布元素。

哦,你说得对。但现在它向我显示了未捕获的TypeError:Object#没有方法“toDataURL”,非常感谢您的帮助。奇怪的是,Html2canvas向我显示一个图像,当我试图保存它时,它是一个空白图像白色图像。@StanislasPiotrowski
Html2canvas
创建了一个画布元素,所以这就是你想要使用的元素,不是div。不确定如何获取或设置元素的
id
,以便您可以访问它。我已更改为画布div。但输出为空image@StanislasPiotrowski您正在使用html2canvas生成图像,但如何将其放入页面?你需要保存那张画布(知道那张画布的id)
<canvas id="mycanvas" width="400" height="400" > </canvas>