前端把页面截屏并下载,html2canvas

需求:

在做项目中遇到需求,需要吧页面保存成图片下载下来,经过查找资料找到了“html2canvas”这个插件。

实现:

代码:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>下载页面</title>

  <script src="./js/downloadDom/html2canvas.min.js"></script>

  <script type="text/javascript" src="./js/downloadDom/fileSaver.min.js"></script>

</head>

<body>

  <div id="capture" style="padding: 10px; background: #f5da55; width: 200px;">

    123

  </div>

  <button type="button" name="button" οnclick="convert()">下载</button>

  <br>

  

  <script type="text/javascript">

    //开始转换

    function convert() {

      html2canvas(document.querySelector("#capture")).then(canvas => {

        //将canvas内容保存为文件并下载

        canvas.toBlob(function(blob) {

           saveAs(blob, "统计报告.png");

        });

      });

    }

  </script>

</body>

</html>

效果:

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
html2canvas是一个用于将HTML元素转换为canvas图片的JavaScript库。在使用html2canvas进行截屏时,可能会出现闪烁的现象,这通常是由于以下原因导致的: 1. 页面渲染问题:如果页面中的元素在截屏过程中发生变化,可能导致截取的图片出现闪烁。为了避免这种情况,可以在截屏前确保页面已经完全加载并渲染完成。 2. 动画或过渡效果:如果页面中的元素具有动画或过渡效果,这些效果可能会影响截屏结果,导致闪烁。可以尝试在截屏前暂停或移除这些效果。 3. 透明度问题:如果页面中的元素具有透明度,html2canvas在处理这些元素时可能会出现问题,导致闪烁。可以尝试调整元素的透明度或使用其他方法来处理透明元素。 4. 跨域问题:如果页面中包含了跨域的图片或其他资源,html2canvas在处理这些资源时可能会出现问题,导致闪烁。可以尝试将跨域资源代理到同一域名下,或者使用其他方法来处理跨域资源。 5. 浏览器兼容性问题:不同浏览器对html2canvas的支持程度可能不同,某些浏览器可能会出现闪烁现象。可以尝试在其他浏览器中测试,或者查找针对特定浏览器的解决方案。 总之,要解决html2canvas截屏闪烁的问题,需要从多个方面进行排查和调整。在确保页面渲染稳定、处理好动画和过渡效果、透明度问题、跨域问题以及浏览器兼容性问题后,应该可以有效减少或消除闪烁现象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值