问题
首先说说遇到了什么问题。首先有这么一个需求。需要前端根据后端传过来数据,动态的生成图片。图片中的文案、背景图片、用户头像全部都是通过后端的接口获取。但是使用 html2canvas 生成的canvas有些图片成功的在canvas里生成了。但是有些图片无论如何都显示不出来。
官方文档
在项目里面操作了半天未果,google了半天未果。此时有些许绝望。突然想到了,为什么不去它的 官网 看看呢。于是乎我在官网上看到了下面的内容。
Limitations<br/>
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.<br/>
The script doesn't render plugin content such as Flash or Java applets.
讲的啥呢,这里为英文不好的同学翻译一下。英语好的可以直接看上文。大概的意思就是在html2canvas里面,是使用脚本去操作的,也就是说使用脚本把html转换成canvas,但是有一个限制,那就是不能使用跨源的图片。如果使用了,html2canvas将不会读取资源。
这也就是为什么转换出来的canvas有些图片一直是空白的原因。如果页面中有其他的canvas也使用了跨源的图片资源,html2canvas都不会去读取。
解决方案
对静态资源做一次转发并且在html2canvas的 配置 里面允许加载跨源资源,就可以了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
汉诺塔是一个非常经典的问题其背后是一个传说故事 在世界中心贝拿勒斯在印度北部...
【CSDN 编者按】历经?197 次版本更新源码从 1996 年的 300 行到如今的 172,000?...
在设计系统时,很难在关系(RDBS)和非关系数据库(NoSQL)之间进行选择。 正确理解...
前言 在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么难...
话不多说,跟小编一起来看看吧 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr...
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,...
有了这个软件,可以将Windows 10X安装到不受支持的电脑上 Windows 10X测试版发布...
Twitter 今天宣布推出独立、灵活的开源 API--Twitter Text Editor,为 iOS 开发...
1. 计算属性和侦听器 1.1 计算属性 !DOCTYPE htmlhtml head meta charset="utf-8...
Pipeline 设计模式 水管太长,只要有一处破了,就会漏水了,而且不利于复杂环境...