一.应用场景

最近的一个需求 在页面里提供意见截图 然后跳转到反馈页面

二.工作原理

html2canvas是通过获取到DOM  然后通过canvas将这个DOM下的东西画出来  转化成base64的方式来实现的   只要你div下的东西  都可以将其转化出来   如果只想要视口里的东西  则可以画body下的

三.应用过程

1.首先当然是安装依赖呀

npm i html2canvas -S

2.其次就是应用了

因为需要截屏视口跳转 前端没有 真正那种像QQ 微信那种手动截屏的工具

所以就用到了这个html2canvas

上代码:首先写一个事件

<div class="samediv"><el-tooltipclass="box-item"effect="dark"content="一键拍照"placement="left-start"><el-button plain @click="takephotos"><el-icon><Camera /></el-icon></el-button></el-tooltip>
</div>

其次   在事件里写上html2canvas

takephotos() {
// 获取你想截屏的大盒子  获取那个盒子的DOM  就截取那个盒子  我这里截取的是body  当前视口let save2 = document.body;html2canvas(save2).then((canvas) => {let url = canvas.toDataURL("image/png");let aLink = document.createElement("a");aLink.style.display = "none";aLink.href = url;// console.log(aLink.href);// router.push({name: 'menu', query: {'src': aLink.href}})// aLink.download = "截图.png";// document.body.appendChild(aLink);// aLink.click();// document.body.removeChild(aLink);window.localStorage.setItem("src", aLink.href);router.push({ name: "menu" });});
},

这里的aLink.href就是base64转码出来的内容 打印一下就是这样的

注:获取当前视口可以取body 也可以去vue里id为app的那个盒子  但是取这个盒子就截屏不到element的消息提示框  或者是dialog框

html2canvas相关推荐

  1. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  2. html转换pdf 分页,(html2canvas jspdf)html转pdf带分页

    1.下载npm包 npm i html2canvas jspdf -s 2.页面引入 import html2canvas from 'html2canvas'; import jsPDF from ...

  3. 移动端 html2canvas 踩坑记录

    背景 最近在做的微信 html5 项目有个需求:页面包含 一张大的背景图片 + 一个用户的链接二维码图片 拼成一张图片,让用户长按保存的时候,可以把整个页面都保存起来,而不是只保存二维码. 思考 1. ...

  4. html2canvas如何在元素隐藏的情况下生成截图

    html2canvas官网地址:http://html2canvas.hertzen.com/ github地址:https://github.com/niklasvh/html2canvas/ 从官 ...

  5. Javascript 将html转成pdf,下载,支持多页哦(html2canvas 和 jsPDF)

    最近碰到个需求,需要把当前页面生成pdf,并下载.弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/... html ...

  6. 页面整体居中 左右出现白边html,html2canvas生成图片出现白边儿的解决方法

    将页面上的内容生成图片,并显示到弹出层中: 不废话,解决方法主要是再js中,html2canvas 方法中,全部拷贝过去就能用 html // 需要生成图片的内容区域 生成图片 分享给朋友 长按图片保 ...

  7. html2canvas 截图div_浏览器端网页截图方案详解

    简介 剖析流行的截图插件 html2canvas 的实现方案,探索其功能上的一些不足之处及不能正确截取的一些场景,比如不支持 CSS 的 box-shadow 截取情况等.探索一种新的实现方式,能够避 ...

  8. JS 使用html2canvas实现截图功能的问题记录和解决方案

    JS 使用html2canvas实现截图功能的问题记录和解决方案 参考文章: (1)JS 使用html2canvas实现截图功能的问题记录和解决方案 (2)https://www.cnblogs.co ...

  9. html2canvas图片截图截不到图像的问题解决

    html2canvas图片截图截不到图像的问题解决 参考文章: (1)html2canvas图片截图截不到图像的问题解决 (2)https://www.cnblogs.com/netcorner/p/ ...

  10. html2canvas在Vue项目踩坑-生成图片偏移不完整

    背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...

最新文章

  1. 蚂蚁上市 P8 身价超亿,丢给我这几个牛逼的公众号
  2. 让机器听懂人话的自然语言处理技术究竟神奇在哪里?
  3. 【Linux】无法添加用户,报“useradd: cannot open /etc/passwd”问题解决过程记录
  4. 使用CEfSharp之旅(8)CEFSharp 使用代理 更换位置IP
  5. 23种设计模式之工厂方法模式
  6. oracle   SQL执行过程
  7. 【Flink】Flink 写入 Clickhouse 大对象直接进入老年代 导致OOM
  8. 认识下这位全能型漏洞猎人
  9. 2-5 ImageList 控件
  10. Codeforces Round #168 (Div. 2)
  11. android4.0 底部菜单,Android自定义控件系列(四)—底部菜单(下)
  12. vsan 一台主机磁盘组全报错_分享VSAN磁盘无法识别的故障解决方法
  13. 怎样解决DEDE织梦友情链接字数限制与链接个数限制
  14. win10 Kafka环境搭建 + 编译C++(librdkafka) 封装库
  15. 搭建一个 软件授权码管理系统
  16. 百度快排(百度下拉)刷词原理是什么?
  17. 入局智能健身镜,小度破圈进行时
  18. WindowsLiveWriter安装步骤
  19. 2600评测_佳能专微的雄心,RF 28-70/2 L USM评测
  20. Web安全基础一漏洞产生原理漏洞探测(持续更新)

热门文章

  1. hibernate 一对多 取多方数据重复问题,FetchMode.JOIN、FetchMode.SELECT、FetchMode.SUBSELECT区别
  2. hdu 1969 pie
  3. php如何做服务器,如何用php实现一个web服务器
  4. SO :社区自治与钱包应用相结合的财富盛宴
  5. 【数学建模|Python】规划问题之线性规划
  6. 10月8日云栖精选夜读 | 如何一次检查大量网页是否更新?
  7. 中国成为微博用户世界第一大国
  8. gamma对冲 matlab,gamma与对冲损益之一
  9. matlab求解参数线性规划问题,实验三十用MATLAB求解线性规划问题
  10. google背后的分布式架构