2012-02-23 3 views
0

로컬 파일 시스템에서이 페이지를로드 할 때 크롬이 보안 예외를 발생시키는 이유를 이해할 수 있도록 도와 줄 수 있습니까? 오페라와 파이어 폭스에는 문제가 없으며 원점 클린 깃발을 읽은 것에서부터 여전히 사실이어야합니다.크롬이 canvas.toDataURL에 대한 보안 예외를 발생시키는 이유

<html> 
<head> 
<title>Canvas Test</title> 
<script type="text/javascript"> 

    var canvas = document.createElement("canvas"); 
    canvas.setAttribute("width", 100); 
    canvas.setAttribute("height", 100); 

    var myImage = new Image(); 
    myImage.src = "gradient-1.png"; 

    function draw(){ 
     document.body.appendChild(canvas); 
     var ctx = canvas.getContext("2d"); 
     ctx.drawImage(myImage, 0, 0, 100, 100); 
     data = canvas.toDataURL("image/png"); 
     // Chrome says Uncaught Error: SECURITY_ERR: Dom Exception 18 
    } 

</script> 
</head> 

<body onload="draw()"> 
</body> 
</html> 
+1

[이 질문 (http://stackoverflow.com/questions/4270999/google-chrome-allow-file-access-from-files-disabled-for-chrome-beta-8)을 참조하십시오. – jholster

+0

감사합니다. @jholster는 유익했습니다. 나는 주로 내가 작업하고있는 phonegap android app에 대해 우려하고있다. 같은 문제가 적용되는지 아십니까? – pguardiario

+0

죄송합니다. 잘 모르겠지만 웹킷이 아닌 Chrome의 기능이라고 생각할 수 있습니다. – jholster

답변

0

가장 좋은 추측은 브라우저의 파일 시스템에서 직접 html 파일을로드하는 것입니다. 저는 캔버스로 놀기 시작하고 로컬 웹 서버를 통해 코드를 실행하지 않을 때와 같은 문제를 보았습니다. 시도해보십시오. 그렇지 않으면 코드가 정확하기 때문에 파일이 손상되었을 가능성이 큽니다.

관련 문제