簡體   English   中英

HTML5 Canvas沒有方法'toDataURL'

[英]HTML5 Canvas no method 'toDataURL'

我的代碼是這樣的

    <html>
  <head>
  </head>
  <body>
    <canvas id="myCanvas" width="578" height="200" style="display:none;"></canvas>
    <img id="canvasImg" onclick="myFunction()" alt="Right click to save me!">
    <script>
        var canvas = document.getElementById('myCanvas');
        var context = canvas.getContext('2d');
        function myFunction() {
            var c = document.getElementsByTagName("canvas");
            // save canvas image as data url (png format by default)
            var dataURL = c.toDataURL();
            // set canvasImg image src to dataURL
            // so it can be saved as an image
            document.getElementById('canvasImg').src = dataURL;
        }
    </script>
  </body>
</html> 

當我單擊canvasImg拋出錯誤

Uncaught TypeError: Object #<NodeList> has no method 'toDataURL' 

我在這里弄了個小提琴,有人能指出出什么問題了嗎?

演示

document.getElementsByTagName返回元素對象的數組,並且沒有數組對象具有toDataUrl方法

代替這個

var c = document.getElementsByTagName("canvas"); 

采用

 var c = document.getElementsByTagName("canvas")[0];
    function myFunction() {
         var canvas = document.getElementById("myCanvas");
         var context = canvas.getContext("2d");
         var img = document.getElementById("canvasImg");
         context.drawImage(img, 0, 0);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM