Canvas.ToDataUrl 的 Base64 图像安全违规

Security violation on Canvas.ToDataUrl with Base64 Image

我正在尝试构建某种品牌工具,为所选图像添加品牌并让用户再次下载该图像。这在许多浏览器上工作得很好,但 Opera 和 IE 会抛出一个安全错误,这让我觉得很快其他浏览器也可能会抛出错误。

Fiddle: http://jsfiddle.net/2rL8afe0/9/

注释掉该行使代码工作:

ctx.drawImage(branding, 0, 0, 30, 30);

原因可能是跨站点脚本的一些误报,因为我的应用程序在客户端运行。

有什么解决办法吗?

问题是某些浏览器在将 SVG 与 canvas 一起使用时非常严格,包括。例如 IE.

由于您的品牌徽标是 SVG,它会污染这些浏览器中的 canvas。

将品牌图片替换为 PNG、JPEG 等格式即可解决此问题。