2013-04-18 54 views
1
function getBase64Image(img) { 
    var canvas = document.createElement("canvas"); 
    canvas.width = img.width; 
    canvas.height = img.height; 
    document.body.appendChild(canvas); 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(img, 0, 0); 
    var dataURL = canvas.toDataURL("image/png"); 
    return dataURL; 
} 

我似乎违反了一些东西,似乎无法找到什么。如何解决它的任何帮助?未被捕获的错误:SecurityError:DOM例外18帆布

回答

3

如果您从另一个域绘制到画布ID的图像,那么您的画布受到污染,并且无法生成数据。将图像复制到与脚本相同的域以防止出现此问题。

+0

但是如果代码是作为Chrome扩展运行的,并且真的没有域? – 2013-04-18 02:22:13

+0

@ManakKapoor看看这个问题http://stackoverflow.com/questions/5511378/security-err-dom-exception-18-on-using-getimagedata-in-a-chrome-extension – Musa 2013-04-18 02:25:34

相关问题