web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

html2canvas生成图片后下载太慢解决方法(dom-to-image)

903 ℃
           

问题描述:利用html2canvas插件把div内容生成png图片并且下载,运气好的时候会有几秒钟延迟,有时候会出现10s延迟。

解决方法:利用dom-to-image插件来替换html2canvas插件。

dom-to-image 是一个将 DOM 元素转换成图片的 JavaScript 库。它可以将网页中的某个元素转换为图片,并支持将多个元素转换为同一图片中的叠加效果。

具体实现步骤如下:

1、引入js库

<script src="/js/dom-to-image.min.js"></script>

2、执行photo按钮代码:

function photo(){
  var node = document.querySelector("#map");
  domtoimage.toPng(node).then(function (dataUrl) {
    downloadFile('下载图片名称.png',dataUrl);
  });
};

function downloadFile(fileName, content) {
  let aLink = document.createElement('a');
  let blob = base64ToBlob(content); //new Blob([content]);
  let evt = document.createEvent("HTMLEvents");
  evt.initEvent("click", true, true);
  aLink.download = fileName;
  aLink.href = URL.createObjectURL(blob);
  aLink.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window}));
}

function base64ToBlob(code) {
  let parts = code.split(';base64,');
  let contentType = parts[0].split(':')[1];
  let raw = window.atob(parts[1]);
  let rawLength = raw.length;
  let uInt8Array = new Uint8Array(rawLength);
  for (let i = 0; i < rawLength; ++i) {
    uInt8Array[i] = raw.charCodeAt(i);
  }
  return new Blob([uInt8Array], {type: contentType});
}

一款免费开源的 JavaScript 数据库——PouchDB

一款用于在网页上生成五彩纸屑特效的JavaScript库——Canvas Confetti

javascript利用pinyin库把汉字转拼音(不带声调)

JavaScript库读取Excel数据代码示例

字节跳动(掘金社区)出品MarkDown编辑器——ByteMD

标签: dom-to-image, html2canvas, JavaScript库

上面是“html2canvas生成图片后下载太慢解决方法(dom-to-image)”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_5104.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计1047个字,预计阅读时长7分钟
生活小工具,收录了80多款小工具
上一篇: 程序员正能量文案:乐观积极的治愈系文案,朋友圈满满向上动力句子
下一篇: Lunar组件如何利用I18n实现多语言功能
x 打工人ai神器