javascript - 使用 Base64 图像时 Canvas.ToDataUrl 存在安全违规

标签 javascript html canvas base64 cross-site

我正在尝试构建某种品牌工具,它将品牌添加到选定的图像中,并让用户再次下载该图像。这在许多浏览器上工作得很好,但 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/

相关文章:

javascript - 在 Angular UI Bootstrap 弹出窗口中使用表单?

javascript - 在 javascript 中显示 PHP 对象数据

html - 我的 CSS 悬停来更改按钮的背景颜色不起作用

javascript - 为什么我的 HTML Canvas 不旋转?

JavaScript + Canvas 移动对象

javascript - 有什么方法可以从 Canvas 获取从远程视频绘制的图像数据吗?

javascript - 我的 jquery 没有将 div 添加到正确的节点

javascript - 无法安装 jQuery 1.11.3

jquery - 如何使 Bootstrap 图像和 div 扩展到浏览器的宽度

HTML 表单中的 Javascript 确认不起作用