2016-09-16 4 views
2

나는 자바 스크립트에 익숙하지 않은 데 그것에 대해 배우고 있습니다. 그렇게하고있는 동안 나는 알아 내지 못하는이 문제를 겪었고 나는 당신의 도움을 위해 여기 있습니다.캔버스에 document.getElementById 반환 null

이것은 내가에 있던 페이지, 나는 콘솔에 다음 (개똥 벌레)를 실행할 때

http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_canvas_empty 지금 내가이 null 반환이다.

여기에 예상 결과가 표시되지 않는 이유는 무엇입니까?

+1

처럼 뭔가에 초기화 기능을 변경 제안합니다. 콘솔이 메인 페이지에서 찾고있었습니다. – Barmar

+0

@Barmar Thanks! 나는 혼자서 그것을 알아 내지 못했을 것이다. –

+1

대부분의 devtools에서는 iframe에서 코드를 실행하도록 선택할 수 있습니다. – Oriol

답변

0

DOM은 draw-function이 호출 될 때 이미로드되었습니다. 올바른 것입니다.

하지만 var canvas = document.getElementById ('control'); - 그리기 기능이 없으므로 그 전에 행이 평가됩니다. 요소가 렌더링되기 전에 문서에서 즉시 실행됩니다.

나는 당신이 그 페이지가 샘플 문서를 저장할은 iframe을 사용하는

var canvas = document.getElementById('myCanvas'); 
var context = canvas.getContext('2d');