首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拍摄网页截图

拍摄网页截图
EN

Stack Overflow用户
提问于 2022-09-15 13:19:33
回答 1查看 46关注 0票数 1

我想采取截图的网页,让用户下载作为PNG文件。我的代码运行良好,但它没有捕获一些图像元素。

我做错什么了。

这是代码

代码语言:javascript
复制
<!-- https://github.com/niklasvh/html2canvas -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.3.4/html2canvas.min.js"></script>
<script>
function capture () {
  html2canvas(document.body).then((canvas) => {
    let a = document.createElement("a");
    a.download = "ss.png";
    a.href = canvas.toDataURL("image/png");
    a.click();
  });
}
</script>
<input type="button" value="Capture" onclick="capture()"/>

这段代码的结果是这个捕获

但是我的网站看起来有点像这样,很明显你可以看到缺少了什么。

EN

回答 1

Stack Overflow用户

发布于 2022-10-14 06:12:33

看起来这和CORS的问题有关。

为了确保这是CORS问题,您应该检查控制台中是否有提到CORS问题的错误。

您应该确保您的图像是主机在同一领域与您的网站。如果不是,您应该确保加载映像的服务器正在接受CORS请求。

如果是CORS问题和服务器接受CORS请求,您可以将选项设置为html2canvas函数,如下所示:

代码语言:javascript
复制
html2canvas(el, {
   useCORS: true,
   allowTaint: true 
}).then(() => ...)

还请确保您正在以以下方式加载具有交叉原点属性的图像:

代码语言:javascript
复制
<img crossorigin src="...">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73731889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档