首页 > web前端 > js教程 > 为什么我无法将画布导出为图像? (被污染的画布错误)

为什么我无法将画布导出为图像? (被污染的画布错误)

Mary-Kate Olsen
发布: 2024-12-08 11:16:12
原创
260 人浏览过

Why Can't I Export My Canvas as an Image? (Tainted Canvases Error)

Resolving "Tainted Canvases May Not Be Exported" Error

When attempting to save a canvas to an image using canvas.toDataURL(), you may encounter the following error:

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
登录后复制

原因:

出于安全考虑,本地硬盘被视为 "other-domain",这会污染 canvas。

解决方案:

在测试期间,可以尝试以下解决方法:

  • 将所有页面相关文件放在桌面上:将所有的 HTML、JPG、JS、CSS 等文件放置在桌面上,而不是子文件夹中。
  • 将图像发布到支持跨域共享的网站:例如 DropBox.com 或 GitHub。确保将图像放在 DropBox 的公共文件夹中,并在下载图像时设置跨域标志(var img=new Image(); img.crossOrigin="anonymous" ...)。
  • 在开发计算机上安装一个 web 服务器:例如 IIS 和 PHP web 服务器都具有免费版本,可以在本地计算机上良好运行。

以上是为什么我无法将画布导出为图像? (被污染的画布错误)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板