我在我的项目中使用了 html2canvas.js
将我的元素(主体)转换为 Canvas ,然后将 Canvas 转换为图像。
我的元素包含从跨域加载的图像。
从元素创建的 Canvas 工作正常,但是当尝试 canvas.toDataURL("image/png");
时,它给出错误 SecurityError: The operation is insecure
请帮我解决这个问题。
canvas.toDataURL("image/png");
在图像未从跨域加载时工作正常。
提前致谢。
最佳答案
不是真正的 html2canvas 问题——只是一个安全问题。
如果你真的很幸运......
您可以在下载跨域图像时使用 imageObject.crossOrigin='anonymous'
。这需要服务器和浏览器 允许匿名 x 域传输。可悲的是,几乎所有服务器和大多数浏览器还不允许。
或者
不要跨域...在您自己的网站上提供该图像。
或者
将图像请求包装在 json 请求中。这是执行此操作的脚本:http://www.maxnov.com/getimagedata/
关于jquery - html2canvas - 安全错误 : The operation is insecure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371316/