html2canvas在vue下的巨坑

公司有个需求就是要在前端生成图片首先想到的是用canvas生成图片,自己画这也太耗时间了吧!后面在npm上一查有个html2canvas的框架可以用这里附上地址
html2canvas
使用起来也特别简单,官网是这么描述的

html
<div id="capture" style="padding: 10px; background: #f5da55">
    <h4 style="color: #000; ">Hello world!</h4>
</div>

js
html2canvas(document.querySelector("#capture")).then(canvas => {
    document.body.appendChild(canvas)
});

html2canvas(document.querySelector("#capture")  {
    async: true
}).then(canvas => {
    document.body.appendChild(canvas)
});

如果你要配置一些参数可以在传入dom的后面进行 object 传参 官网文档可查
官网文档
我自己的工程环境是vue-cli会进行webpack打包在ios下运行的时候会出现错误因为我要生成一张图片是的canvas api 是 toDataURL
这错误在ios一直显示是权限问题 在ios 和safari 上的问题是一致的 原因是canva绘制dom上的图片的时候是 base64的格式(webpack会对asstes目录下的图片进行压缩)花费了几个小时才解决这个问题,感觉很不值所以分享给大家希望大家别踩进去了!解决方法是可以 static目录或者同域下的文件地址

原文地址:https://www.cnblogs.com/qianduanwriter/p/11847026.html

时间: 2024-10-20 23:55:31

html2canvas在vue下的巨坑的相关文章

&lt;微影看&gt;巨坑开填一

前言:原本我想 哈哈,几分钟把微信公众号全部搞掂,然后去浪...才发现 我想多了.. 下面介绍如何填巨坑一!!! 这次目标:把微信公众号配置好,配置上URL Token,以便以后数据的连接. 首先要说一下,为什么说这次是巨坑,搭建个微信公众号那么简单也叫巨坑??? 这要从微信公众号的分类说起,微信公众号有三种:个人订阅号,服务号,企业号.每一种都各自特点,详情自己百度啊 哈哈哈. 我们 微影看 要有后台数据库网站语音搜索网页链接等功能接入,就必须要服务号或者企业号,这对于我们这些学生党是根本不可

cocos2d-x + Lua的cc.Repeat动画执行次数不准,巨坑

Repeat这个Action的本意是可以方便地对某一个动画执行指定的次数,比如这段代码: scene.index = 0 --延时 local delayAction = cc.DelayTime:create(0.5) --回调 local callFuncAction1 = cc.CallFunc:create(function() scene.index = scene.index + 1 cclog("index: %d", scene.index) end) --序列 loc

【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studio默认采用的却是gradle方式,与ADT编辑的方式大不相同,那再andorid studio中如何导入so文件呢? 在android studio 中我们可能会用到jar包和so文件的方式,对于jar包可能接触更多,只需要我们把工程转换为project显示方式,打开app下的libs文件夹,导入即

【单页应用巨坑之History】细数History带给单页应用的噩梦

前言 在我们日常的网页浏览中,我们非常喜欢做一个操作:点击浏览器的前进后退在Ajax技术出现后,有些时候前进后退就会给开发者带来困扰,甚至一些开发者试图去干掉History随着Html5的发展,移动端的兴旺,单页应用出现了,于是History的处理被不得不提上议程了!要知道,这一直是一项让人不愿意去碰的巨坑,但是单页应用却不得不去解决 首先History的处理逻辑看似简单,实则负责,稍不注意就会出问题,我们这里来探讨下单页中History的处理规则 基础知识 javascript中History

【C++】linux下头文件io.h的巨坑

摘要:采用 io.h 头文件提供的函数读取指定文件夹中多个文件(文件名没有规律) 系统配置:ubuntu16.04, cmake编译 读取文件的代码如下, void getFilesAll(string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; if ((hFile = _findfirst(p.assign(path).appe

better-scroll之吸顶效果巨坑挣扎中

今天和大家分享下better-scroll这款移动端用来解决各种滚动需求的插件(目前已经支持PC) 关于其中的API大家可以去官网看下  这里就给大家介绍几种常用的以及需要注意的点是什么 首先说一下better-scroll的使用注意问题吧 1.移动端 我们通常采用三段式进行布局的  例如 <div class="container">    <header></header><main></main><fotter&g

IDEA+Maven+Mybatis 巨坑:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.UserMapper.findAll

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.UserMapper.findAll at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227) at org.apache.ibatis.binding.MapperMethod.<init&

vue配置环境踩坑

Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. npm和cnpm都是在git的全局环境下下载的 且安装完cnpm,nodejs文件夹下就已经有了node_cache.node_global这两个文件夹: 而且在用户变量里path变量路径已经存在

【史前巨坑】数论模板整合

跪了一下午数论 整理了一下数论模板 这是个史前巨坑,有空慢慢填 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define MAXN 1000000 using namespace std; bool not_prime[MAXN]; int prime_number[MAXN]; int nu; int fac