html - canvas.toDataURL() 导致安全错误

标签 html apache canvas html5-canvas kineticjs

我正在通过 KineticJS's 使用 HTML5 Canvas 和 .toDataURL() 函数.toDataURL() 方法。 Canvas 使用我的用户上传到站点的图像,这些图像存储在不同的机器和子域 farm1.domain.com 上。

问题 当调用 .toDataURL() 时,出现错误

SECURITY_ERR: DOM Exception 18 

有解决办法吗?如果用户通过 domain.com 访问页面并且图像托管在 www.domain.com,我也会遇到同样的问题。

尝试:

我在 virtualhost 中的 httpd.conf 中添加了以下行并重新启动了 apache 服务。

Header add Access-Control-Allow-Origin "http://www.domain.com"
Header add Access-Control-Allow-Origin "http://domain.com"
Header add Access-Control-Allow-Origin "http://farm1.domain.com"

domain.com 上的页面访问托管在 www.domain.com 上的图片时,我仍然遇到同样的错误!在 KineticJS 中有解决这个问题的方法吗?

最佳答案

您需要将 Access-Control-Allow-Origin header 添加到您正在加载的图像中,而不是添加到正在加载它们的页面中。有关此 header 和一般 CORS 的详细信息,您可能需要阅读“CORS isn't just for XHR”,其中专门讨论了此问题。

关于html - canvas.toDataURL() 导致安全错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329493/

相关文章:

html - 如何使用 body 元素中的图像有效伪造 div 的背景颜色?

html - 使用 HTML5 视频标签支持桌面和移动客户端

html - 输入类型 ="number"是 3 位数字或 8 位数字

java - 为什么 IdentityMapper 在 org.apache.hadoop.mapreduce 库中消失了?

canvas - 在移动设备上调用 "toDataURL"返回的图像比在桌面上大 4 倍

html - li span 向左浮动 向右浮动

php - 调整 Apache-PHP-MySQL 以提高速度

apache - 我找不到 poi-ooxml-schemas 的源代码库

javascript - html5 Canvas ;旋转后的图像在ie中闪烁

javascript - 如何使用 Canvas 在 d3 v4/v5 中平移滚动