2014-02-09 2 views
1

내 랩톱이 WebGL과 함께 작동 할 수 있도록 자신의 웹 페이지에 게시 된 강사를로드하려고합니다. 나는 그의 예를 미리 열었고, 광장에서 광장을 표시하는 것만으로도 효과가있었습니다. 그래서 나는 그가 가지고있는 정확한 코드를 복사해서 메모장 텍스트 편집기에 붙여 넣어 .js 파일로 저장 한 다음 .html 파일에 대해 똑같이 수행하고 위의 제목에서 말한 것과 같은 오류를 얻었습니다. 나는 오류가있는 특히, 부분을 "요소 검사"오픈으로했다 :캐치 유형 오류 : null의 속성 'parentNode'을 읽을 수 없습니다.

var setupWebGL = function(canvas, opt_attribs) { 
    function showLink(str) { 
    var container = canvas.parentNode; 

// catch되지 않은 유형 오류 : 수 없습니다 널 (null)의 Readproperty '인 parentNode'

if (container) { 
    container.innerHTML = makeFailHTML(str); 
    } 
    }; 

    if (!window.WebGLRenderingContext) { 
    showLink(GET_A_WEBGL_BROWSER); 
    return null; 
    } 

    var context = create3DContext(canvas, opt_attribs); 
    if (!context) { 
    showLink(OTHER_PROBLEM); 
    } 
    return context; 
}; 

해결하는 방법에 대한 아이디어 이 오류? 이 코드는 강사 웹 사이트에서 작동하므로 누락 된 부분이있을 수 있습니다. 질문에 대한 자세한 정보/세부 정보가 필요하면 알려주십시오. 감사

<!DOCTYPE html> 
<html> 
<head> 
<script id="vertex-shader" type="x-shader/x-vertex"> 

attribute vec4 vPosition; 
void main() 
{ 
    g1_Position = vPosition; 
} 
</script> 
<script id="fragment-shader" type= "x-shader/x-fragment"> 
precision mediump float; 
void main() 
{ 
    g1_FragColor = vec4(1.0,1.0,1.0,1.0); 
} 
</script> 
<script type="text/javascript" src="webgl-utils.js"></script> 
<script type="text/javascript" src="initShaders.js"></script> 
<script type="text/javascript" src="MV.js"></script> 
<script type="text/javascript" src="square.js"></script> 
</head> 
<body> 
<canvas id="g1-canvas" width="512" height="512"> 
Oops...your browser doesn't support the HTML5 canvas element 
</canvas> 
</body> 
</html> 
+0

당신은 jsfiddle에 당신의 html을 보여줄 수 있습니까? –

답변

0

showLink 함수 setupWebGL 범위에서 작성되는 한 문제는 showLink 호출 될때, canvas 변수 값을 푼다이다. 그것을 고칠 수있다 :

var setupWebGL = function (canvas, opt_attribs) { 
    function showLink(str) { 
     var container = showLink._canvas.parentNode; 
     if (container) { 
      container.innerHTML = makeFailHTML(str); 
     } 
    } 
    showLink._canvas = canvas; 
}; 
관련 문제