2012-02-23 43 views
0

的安全異常有人能幫我理解爲什麼chrome在我從本地文件系統加載這個頁面時可能引發安全異常? Opera和Firefox沒有問題,並且從我讀過的origin-clean標誌應該仍然是真的。爲什麼chrome會拋出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 2012-02-23 09:32:26

+0

謝謝@ jholster,這是豐富的。我最關心的是我正在開發的一個phonegap android應用程序。你知道同樣的問題是否適用? – pguardiario 2012-02-23 09:49:30

+0

對不起,不知道,但可以認爲它是Chrome的一個功能,而不是webkit。 – jholster 2012-02-23 13:01:18

回答

0

我最好的猜測是,你是直接從文件系統加載HTML文件,在瀏覽器中。當我開始使用canvas進行遊戲並且未通過本地Web服務器運行我的代碼時,我看到了同樣的問題。試一試,否則它很可能是一個損壞的文件,因爲你的代碼是正確的。

相關問題