如何在网页中获得跨域图像的截图



我使用html2canvas.js直接在用户浏览器上截取网页的"截图"。但是我发现它没有得到使用跨域参考的图像。另外,我也不能在服务器上设置跨域权限。

那我该怎么做呢?

html2canvas团队没有一个好的文档。因此,我必须做大量的研发工作来找到这个解决方案,因此,我在这里分享这些细节,以造福他人。

  1. 插件接受一个参数作为对象,它希望这个对象有一个属性"proxy"。你需要在这里指定代理服务的/模块名(和相对路径)。

  2. 使用这个值,插件形成一个URL: https://your.domain.com/yourPath/yourProxyService?url=https%3A%2F%2Fcrossdomain.com%2FImage.png&callback=html2canvas_0

  3. 当插件尝试使用新创建的URL访问该代理时,它期望JSONP格式的图像的base64值。例如:

    html2canvas_0("数据:图像/png; base64, R0lGODlhQAAwAMQAAKioqICAgLKysm1tbWNjY8bGxpSUlHd3d9nZ2ePj48/Pz7y8vJ6enoqKillZWY6Nje3t7Q")

注:html2canvas_0为URL

中"callback"参数的值

相关内容

  • 没有找到相关文章

最新更新