问题

首先说说遇到了什么问题。首先有这么一个需求。需要前端根据后端传过来数据,动态的生成图片。图片中的文案、背景图片、用户头像全部都是通过后端的接口获取。但是使用 html2canvas 生成的canvas有些图片成功的在canvas里生成了。但是有些图片无论如何都显示不出来。

官方文档

在项目里面操作了半天未果,google了半天未果。此时有些许绝望。突然想到了,为什么不去它的 官网 看看呢。于是乎我在官网上看到了下面的内容。

Limitations

All the images that the script uses need to reside under the same origin for it to be able to read them without the assistance of a proxy. Similarly, if you have other canvas elements on the page, which have been tainted with cross-origin content, they will become dirty and no longer readable by html2canvas.

The script doesn't render plugin content such as Flash or Java applets.

讲的啥呢,这里为英文不好的同学翻译一下。英语好的可以直接看上文。大概的意思就是在html2canvas里面,是使用脚本去操作的,也就是说使用脚本把html转换成canvas,但是有一个限制,那就是不能使用跨源的图片。如果使用了,html2canvas将不会读取资源。

这也就是为什么转换出来的canvas有些图片一直是空白的原因。如果页面中有其他的canvas也使用了跨源的图片资源,html2canvas都不会去读取。

解决方案

对静态资源做一次转发并且在html2canvas的 配置 里面允许加载跨源资源,就可以了。

2018年8月1日更新

在调试的时候console信息,发现html2canvas自带的log太多,眼花缭乱的。大家可以自行配置取消掉。

html2canvas第一个参数就是你需要转换成canvas的dom节点。第二个参数接受一个对象,里面就是各种配置文件。配置项可以看 这里

{ logging: false }

配置成上面这样,就可以取消html2canvas默认开启的log了。

转载于:https://www.cnblogs.com/detectiveHLH/p/9395406.html

html2canvas关于图片不能正常截取相关推荐

  1. html2canvas图片不能正常截取,html2canvas关于图片不能正常截取

    问题 首先说说遇到了什么问题.首先有这么一个需求.须要前端根据后端传过来数据,动态的生成图片.图片中的文案.背景图片.用户头像所有都是经过后端的接口获取.可是使用 html2canvas 生成的can ...

  2. html2canvas截取图片不完整,html2canvas关于图片不能一般截取

    题目 起首说说遇到了什么题目.起首有这么一个需求.须要前端依据后端传过来数据,动态的天生图片.图片中的案牍.背景图片.用户头像全部都是经由过程后端的接口猎取.然则运用 html2canvas 天生的c ...

  3. html2canvas 截图 图片为空白 无法截图

    html2canvas 截图 图片类型为空白 解决办法 图片地址不是本地图片是网络图会出现 截取后为空白的情况 1.此时可以让后台返给你base64的图片地址就可以截取了 2.做个静态转化 先存在本地 ...

  4. python测试脚本截图_Python+selenium实现截图图片并保存截取的图片

    这篇文章介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图.在selenium for Python中主要有三个截图方法,我们挑选其中最常用的一种. ...

  5. vue-drag-resize + html2canvas合成图片并下载

    vue-drag-resize + html2canvas 合成图片并下载 可以实现图片拖动,缩放,最后合成一个图片并且下载的功能 一.下载 vue-drag-resize 和 html2canvas ...

  6. html2canvas导出图片缺失

    html2canvas导出图片只能导出第一屏,被隐藏的部分不显示; 出现的原因: html2canvas是按照当前元素的高度去生成图片的, 如果内部的元素高度大于当前父元素的高度,那么就会出现这情况. ...

  7. ​html2canvas 出现图片无法展示

    html2canvas 出现图片无法展示 我有一个大胆的想法,我要一直写到死,那一天我不写了,可能就死了.哈哈. 哈喽,大家好,我是你们的攻城狮,人贱人爱的 Ken,一个永远充满激情的人. 最近接收到 ...

  8. html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)

    描述:最近使用html2canvas插件截取页面上指定dom为图片,然后将生成的图片替换页面上的dom后,将替换后的页面内容保存至数据库,结果保存的是保存前的页面,初步判定是html2canvas的异 ...

  9. vue 制作带二维码的海报并下载 。 (html2canvas转为图片不显示文字的方法)

    效果图如上 1.安装依赖 npm install qrcode (生成二维码) html2canvas (截取html元素生成图片) (引入依赖) import qrcode from "q ...

最新文章

  1. swoole TCP UDP server
  2. 终端服务器有多种运行模式,云终端的三种工作模式你都知道的吗
  3. 进行xlsx 复制一行_利用Phyton对Excel数据进行查错
  4. 【Python】装上后这 14 个插件后,PyCharm 真的是无敌的存在
  5. mysql也能注册到eureka_为什么我的服务提供者和消费者都注册不到eureka注册中心?...
  6. python复制文件的代码_python 复制文件流程
  7. django html显示xml,如何将HTML与Django集成?
  8. 传网易、京东6月相继赴港上市:共计筹资50亿美元
  9. keras实战项目——CIFAR-10 图像分类
  10. 类和对象编程(三):构造函数析构函数
  11. 软件著作权申请流程和费用
  12. 问题解决——WSAAsyncSelect模型 不触发 FD_CLOSE
  13. 初次使用Vscode,遇到了一个极具没有水平的问题,解决之后瞬间感到无比尴尬
  14. JS - 4 - 数组 Array - API(slice、splice、shift、)
  15. 红黑树添加和删除节点原理
  16. [分享]ERP实施工程师笔试题目
  17. 如何找国外作者的matlab,如何与外国学者用电子邮件联系(索要论文或者代码)...
  18. 安卓029老年人监护系统APP
  19. RISC-V 实现整数运算指令(Part 1)
  20. 苹果微信更新不了最新版本_微信,最新版本更新,为何要将字体变小

热门文章

  1. SmartSVN for Mac 使用说明
  2. 华为服务器芯片总在pc,服务器芯片 华为
  3. qfile 创建文件_Qt之二进制文件读写
  4. 华南理工计算机接口技术随堂练习_研究生考试计算机408跟845有什么区别?
  5. C语言必学的12个排序算法:基数排序
  6. 有没有code能改xml内容_Spring源码解析-applicationContext.xml加载和bean的注册
  7. ps一点等于多少厘米_企业展厅设计关于展台你了解多少?
  8. OPC服务器如何采集设备的信息,如何将OPC服务器采集的设备数据转为MQTT方式,实现云端发布或订阅...
  9. 关于单纤与双纤光端机的区别介绍
  10. 工业级交换机的功率和管理功能详解