HTMLCanvasElement has no method 'toDataUrl'

Valerij picture Valerij · Apr 22, 2012 · Viewed 8.6k times · Source

I am trying to fetch the dataUrl from the canvas to use is as css background-image on various elements. But i always get following error Uncaught TypeError: Object #<HTMLCanvasElement> has no method 'toDataUrl'

this is my test code

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<script type="text/javascript">
  var c=document.getElementById("myCanvas");
  var ctx=c.getContext("2d");
  ctx.fillStyle="#FF0000";
  ctx.fillRect(0,0,150,75);
  alert(c.toDataUrl());
</script>
</body>
</html>

is it once again the security feature in disguise?, or am i simply stupid...

Thanks in advance

Answer

Okan Kocyigit picture Okan Kocyigit · Apr 22, 2012

You have the function name incorrect. Watch the case:

alert(c.toDataURL());

DEMO