这是barfly, 我有一个canvaced-images的问题。 (securityError) 我构建了一个设计访问卡的工具。在这里,我使用几个画布作为文本,一个作为徽标。没有插入图片的标志,一切工作正常。但是当我插入图像时,我得到了securityError。 (一开始它也起作用,我简直无法弄清楚,哪些变化导致这个问题)。现在我试图制作一个html2canvas,然后通过ajax将它们发送到一个php文件。但仍然是同样的问题。它在没有标识的情况下工作,并在插入徽标时引发securityError。这使我最困惑。 我在我的服务器上设置了全部内容。该网址是:http://obs-design.de/visitenkarten/ 添加图片,dobleclick任何文本canvaces点击编辑器上的图像图标。 继续之后,html2canvas显示在原始应用程序下。 (这里仍然有图像)。上传的图像文件可以在以下位置调用:http://obs-design.de/visitenkarten/canvasimg/visitenkarte.png(仅限于没有图像)。 有没有人对我有暗示?提前致谢。画布图像(securityError)
回答
这是因为您正在呼叫您的身体元素html2canvas()
。
您的文档确实包含对https://code.jquery.com/ui/1.12.0/themes/base/images/ui-icons_444444_256x240.png
的引用,该引用未加载正确的CORS标头。
简单的修复方法是在您的#innerbox
元素上调用html2canvas。 在文档的这一部分,没有任何东西会污染你的画布,你可以根据需要调用任何导出方法。
另请注意,canvas元素没有crossOrigin
属性,绘制到其上下文的媒体资源必须已通过正确的跨源请求提供,但您无法在canvas级别执行此操作。
非常感谢您的帮助。现在一切正常。 – barfly
嗨Kaido - 首先我一切都很好,但事实并非如此。像以前一样,它有时会奏效,而不是再次失败。我无法理解画布(由html2canvas制作)与没有图像之间的区别这两个画布之间的区别在哪里。我在头文件中包含了crossOrigin,如下所示:。这是正确的沙发?在哪里以及如何包含CORS头?在此先感谢您的帮助。 – barfly
Cors标头由托管要在画布上绘制的媒体的服务器发送。如果服务器未配置为接受crossOrigin请求,那么您运气不好。您必须在设置其src之前在img标签上设置crossIrigin属性,以便服务器知道您要遵守cors。 – Kaiido
- 1. 画布图像
- 2. HTML画布图像
- 3. 用画布导出图像
- 4. 画布矩形图像
- 5. 画布图像编辑器
- 6. 在画布上擦图像
- 7. 画布图像问题
- 8. 变化画布图像
- 9. 数据/图像到画布
- 10. HTML5画布显示图像
- 11. HTML5画布绘制图像
- 12. Javascript DOM图像到画布
- 13. 画布图像平滑
- 14. HTML画布效果 - 图像
- 15. HTML5画布图像变色
- 16. Android - 画布上的图像
- 17. HTML 5画布图像绘画闪烁
- 18. 动画画布上的图像列表
- 19. 下载图像后的画布重画
- 20. 画布上的布料模拟+图像
- 21. Javascript画布如何画图像很多图像
- 22. 将图像添加到画布不允许将画布保存为图像
- 23. 画布图像没有绘图?
- 24. Shine带画布的图标/图像
- 25. Conver konvajs画布将图像加载到另一个画布
- 26. 如何变暗画布或画布上绘制的图像?
- 27. 试图在画布中延迟图像以延迟图像
- 28. 画布中的多个图像html
- 29. 图像不使用画布反别名
- 30. 调整画布的背景图像 - Fabricjs
起初,你可以飞到[如何问](http://stackoverflow.com/help/how-to-ask)页面... – Teemu
嗨@barfly,很高兴见到你! :) ...请包括安全错误声明。 –
错误语句是:[link] SecurityError:操作不安全。 错误来源行: \t var canvasData = canvas.toDataURL(“image/png”);但在Kaiido的帮助下,我能够解决这个问题,现在一切正常。无论如何非常感谢您的关注。 barfly – barfly