我正在尝试构建某种品牌工具,它将品牌添加到选定的图像中,并让用户再次下载该图像。这在许多浏览器上工作得很好,但 Opera 和 IE 会抛出一个安全错误,这让我认为很快其他浏览器也可能会抛出错误。
fiddle :http://jsfiddle.net/2rL8afe0/9/
注释掉该行可以使代码正常工作:
ctx.drawImage(branding, 0, 0, 30, 30);
原因可能是跨站点脚本存在一些误报,因为我的应用程序在客户端运行。
有什么想法可以解决这个问题吗?
最佳答案
问题在于,某些浏览器在使用带有 Canvas 的 SVG 时非常严格,包括。例如 IE。
由于您的品牌 Logo 是 SVG,因此它会污染这些浏览器中的 Canvas 。
用 PNG、JPEG 等替换您的品牌图像将解决此问题。
关于javascript - 使用 Base64 图像时 Canvas.ToDataUrl 存在安全违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611726/