html2canvas截图如何解决跨域的问题?
1、问题描述
如果不跨域的话,截图正常。
如果有跨域的图片,那么js报错,报错信息如下:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
2、代码
/** * 截图 */ function doScreenShot(){ html2canvas(document.body, { onrendered: function(canvas) { canvas.id = "mycanvas"; var image =canvas.toDataURL("image/png").replace("image/png","image/octet-stream"); window.location.href=image; // it will save locally } }); }
3、补充
看到官方(https://github.com/niklasvh/html2canvas)上面有介绍代理啥的,也没看明白怎么使用,好像还没有java方面的代理。有人能补充一下这方面的使用介绍么?
或者有其他的web页面截图方面的方法也可以介绍下,谢谢~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
没有。
目前也遇到同样的问题。
canvas调用toDataURL()时跨域的问题无法解决。
请问题主有没找到解决方法?
html2canvas出来的canvas空白就是添加了useCORS参数解决的,谢谢
谢谢帮大忙了,终于解决了
回复
https://share.weiyun.com/0d5c9cc7ac20076c1c389e2533b8f618 主要就改了上面截图的那几个地方