Internet Explorer 11 fillStyle,带有模式安全性错误

时间:2014-03-19 22:57:05

标签: javascript html5-canvas internet-explorer-11

我的这个脚本适用于Chrome,Safari和Firefox windwos / mac,但在IE 11中出现安全性错误。

http://jsfiddle.net/YkVgA/1/

在我用另一个域的纹理填充图像数据之后,知道如何从该画布获取图像数据吗?

该图像启用了交叉原点。

<body><canvas id="mycanvas"></canvas>

var ctx = document.getElementById('mycanvas').getContext('2d');

var img = new Image();
img.crossOrigin = 'anonymous';
img.src = 'http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50';
img.onload = function () {
    var ptrn = ctx.createPattern(img, 'repeat');
    ctx.fillStyle = ptrn;
    ctx.fillRect(0, 0, 150, 150);
    var inData = ctx.getImageData(0, 0, 150, 150)
}

1 个答案:

答案 0 :(得分:1)

正如fzzle在评论中指出的那样,IE还没有(还)支持对图像的跨源请求。

可能的解决方案

在客户端无法请求CORS使用的特定情况下,选项有些限制,因此您必须:

  • 创建与页面相同的图像副本
  • 使用服务器上的代理页面请求图像,然后将其提供给同一来源的客户端