2014-12-18 3 views
0

이 내 코드입니다 :는 canvas.getContext는 ("2D") 작동하지 않습니다

<!DOCTYPE html> 
<html> 
    <head> 
     <link href="style.css" rel="stylesheet" type="text/css" /> 
     <script type="text/javascript"> 
      (function drawCanvas(){ 
       var canv = document.getElementById('testcanvas1'); 

       if(canv.getContext){ 
        alert("test"); 
        var context = doof.getContext('2d'); 

        context.fillStyle = "rgb(255, 0, 255)"; 
        context.fillRect(0, 0, canvas.width, canvas.height); 
       } 
      })(); 
     </script> 
    </head> 
    <body> 
     <canvas id="testcanvas1"></canvas> 
    </body> 
</html> 

아무 경고도 없다, 그래서 변수 canv.getContext이 거짓 가정합니다. 왜? 일반적으로 .getContext ('2d')는 제 firefox 34에서 작동하지 않습니다.이 funktion을 어떻게 작동시킬 수 있습니까?

+0

'# testcanvas1'이 아직로드되지 않았기 때문에'canv'가'null '입니다. 따라서,'canv.getContext'는 에러를 던집니다. – Oriol

답변

0

문서를로드하기 전에 코드를 실행하고 있습니다. 해결책 :

window.onload = function() { 
    (function drawCanvas(){ 
     var canv = document.getElementById('testcanvas1'); 

     if(canv.getContext){ 
      alert("test"); 
      var context = doof.getContext('2d'); 

      context.fillStyle = "rgb(255, 0, 255)"; 
      context.fillRect(0, 0, canvas.width, canvas.height); 
     } 
    })(); 
} 
관련 문제