【发布时间】:2013-07-20 06:16:46
【问题描述】:
我有一个 HTML 画布(使用 KineticJS,但画布爱好者仍应加入),它从另一个域加载图像,将其放置到画布上并覆盖一些其他信息以生成最终图像。当我尝试使用canvas.toDataURL() 输出文件时,收到消息“操作不安全。”,显然是由于跨域限制。
我想知道是否有人知道解决此错误的任何方法(最好是跨浏览器兼容)。我在想一个解决方案是将画布复制到另一个画布,有点像截图,但我找不到任何可以避免错误的方法,因为我认为它会复制所有画布属性以及它。
有人有什么想法吗?
【问题讨论】:
-
你有使用php的能力吗?
-
不,这完全是一个基于 Javascript 的项目。
-
如果您使用来自不同域的图像,SOP 的要点是您无法访问图像数据……您需要
toDataURL做什么,您可以在您的域上使用代理图片? -
该代码稍后将用于为浏览器扩展提供动力,因此我将无法使用纯 Javascript 以外的任何东西。我无法使用任何外部软件或语言。
标签: javascript html canvas html5-canvas kineticjs