首页 > 其他分享 >vue使用html2canvas将页面dom生成图片,解决页面中带有图片导出

vue使用html2canvas将页面dom生成图片,解决页面中带有图片导出

时间:2024-08-30 16:16:48浏览次数:13  
标签:vue useCORS html2canvas link 页面 true 图片

安装

npm install html2canvas

引入

import html2canvas from 'html2canvas'

使用

this.$refs.canvasToPic 是div的dom,只要在这个div中的区域都可以生成图片
 1 this.$nextTick(() => {
 2           html2canvas(this.$refs.canvasToPic,{ useCORS: true, logging: true }).then(canvas => {
 3             //url就是生成的链接可直接写入image标签的src中展示
 4             let url = canvas.toDataURL("image/png");
 5             // 创建一个a标签
 6             var link = document.createElement("a")
 7             link.style.display = "none"
 8             link.href = url
 9             link.download = `图片名字`
10             document.body.appendChild(link);
11             link.click();
12             document.body.removeChild(link)
13       });
14 })

其中   { useCORS: true, logging: true }  是为了页面中有图片,为了解决导出的页面中没有图片的问题

但是图片img标签得加上   crossOrigin="anonymous"   例如<img src="" crossOrigin="anonymous">

如果页面中没有图片,{ useCORS: true, logging: true }   可以不用加上,直接导出即可

标签:vue,useCORS,html2canvas,link,页面,true,图片
From: https://www.cnblogs.com/ghc520/p/18388935

相关文章

  • Vue 中 v-model 的修饰符
    lazy修饰符:将v-model 改为失去焦点后更新数据。number修饰符:将v-model数据转为数字类型。trim修饰符:去除v-model数据中的首尾空格。语法格式//lazy修饰符<inputv-model.lazy="数据">//number修饰符<inputv-model.number="数据">//trim修饰符<inputv-mod......
  • Vue Cli
    vueCli是基于vue.js进行快速开发的完整系统vue脚手架使用语法:vueinit<模板名称><项目名称>vueinitwebpackvue-spa2安装完成就有项目目录,如下:cdvue-spa2npminstall运行npmrundevbuild构建脚本目录,放置各种配置文件build.js生成环境的构建代码check-versi......
  • 给一个块元素添加多张背景图片
    最近做的项目需要用到多张底图(背景图)最开始做的时候能想到的办法只有嵌套多层div然后设置背景图并定位以实现今天重写这块代码发现明明可以很简单的解决!!!话不多说,上代码<divclass="menu"><!--任意内容--></div>先定义元素类名,再在css中设置背景图.menu{backg......
  • springboot+vue安心养老一站通服务系统的设计与实现【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着社会老龄化的加速,养老问题已成为全球性的社会挑战。传统的养老模式面临着资源分配不均、服务效率低下、信息孤岛等诸多问题,难以满足老年人日益增长的多元化、个性化需求。在此背景下,安心养老一站通服务系统的设计与实现显得尤为重......
  • springboot+vue爱心捐赠系统【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景在当今社会,随着经济的快速发展与信息技术的日益普及,公益慈善事业逐渐成为连接社会爱心与需要帮助群体的重要桥梁。然而,传统的捐赠方式往往存在信息不对称、流程繁琐、透明度不足等问题,限制了公益资源的有效配置与利用。因此,构建一个高......
  • springboot+vue爱心慈善公益系统【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景在当今社会,随着经济的快速发展与人民生活水平的日益提高,社会各界对于慈善公益事业的关注度与参与度也显著提升。然而,传统的慈善捐赠方式往往存在信息不对称、流程繁琐、透明度不足等问题,限制了公益资源的高效配置与利用。特别是在互联......
  • Vue 过滤器(Filter)的理解与用法
    Vue.js是一个渐进式JavaScript框架,它提供了丰富的功能来构建用户界面。其中,过滤器(Filter)是一个非常有用的特性,它允许我们在模板中对数据进行格式化处理。本文将详细介绍Vue过滤器的概念、用法以及一些最佳实践。1.过滤器的基本概念1.1什么是过滤器?过滤器是Vue提供的一种......
  • 基于nodejs_vue+express框架个人健康管理系统的设计与实现_7999g
    个人健康管理系统按照功能由三部分构成的,三部份是用户、医生和管理员。主要功能有出诊医生、预约挂号、健康档案、疾病评枯等。系统软件用户、医生与管理员的功能模块图个人健康服务平台是以医院的状况为起点,综合网络空间开发设计要求。目的是将个人健康通过网络平台变换为在......
  • 基于SpringBoot+Vue足球俱乐部管理后台的设计和实现(源码+文档+部署讲解)
    博主介绍:全网粉丝10W+,CSDN博客专家、全栈领域优质创作者,3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型。研究方向:SpringBoot、Vue.JS、MyBatisPlus、Redis、SpringSecurity、MySQL、小程序、Android、Uniapp等。博主说明:本文项目编号......
  • 基于SpringBoot+Vue师生健康管理系统的设计和实现(源码+文档+部署讲解)
    博主介绍:全网粉丝10W+,CSDN博客专家、全栈领域优质创作者,3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型。研究方向:SpringBoot、Vue.JS、MyBatisPlus、Redis、SpringSecurity、MySQL、小程序、Android、Uniapp等。博主说明:本文项目编号......