h5实现内嵌微信小程序&支付宝 --截图保存海报分享功能

1.首先需要正常写你需要展示的页面

2.下载html2canvas

复制代码
import html2canvas from 'html2canvas';

3.封装一个公共的方法

复制代码
export const screenshot = async () => {
  const target = document.querySelector('#capture-target');
  const canvas = await html2canvas(target, {
    useCORS: true, // 允许跨域图片
    allowTaint: true,
    scale: 2, // 照片质量
    allowTaint: false,
  });
  const imgUrl = canvas.toDataURL('image/png');
  return imgUrl;
};

4.拿到图片的imgUrl 再用一个弹框打开 提醒用户长按保存

使用h5会经常遇到跨域的问题,因为我们展示img天生具有跨域的属性,但是一旦使用html2canvas 跨域会经常见到,所以一定要后端支持,如果图片保存在云盘 可以设置

允许跨域

5.保存还有一个问题 就是图片模糊可能会不清晰 这时候需要把uni-app中的

<image>换成原生的<img>

不要使用图片背景 直接使用图片

相关推荐
他们都不看好你,偏偏你最不争气13 小时前
【iOS】MVC架构
前端·ios·mvc·objective-c·面向对象
苏纪云13 小时前
Ajax笔记(下)
前端·javascript·笔记·ajax
三十_A14 小时前
【NestJS】HTTP 接口传参的 5 种方式(含前端调用与后端接收)
前端·网络协议·http
Ares-Wang14 小时前
JavaScript》》JS》》ES6》》 数组 自定义属性
开发语言·javascript·es6
几个高兴14 小时前
ES6和CommonJS模块区别
前端
要做朋鱼燕14 小时前
【C++】 Vector容器操作全解析
开发语言·c++·笔记·学习笔记
渊不语14 小时前
Webpack 深入学习指南
前端·webpack
hvinsion14 小时前
零依赖每月工作计划备忘录:高效管理你的每一天
javascript·css·python·开源·html
北京_宏哥14 小时前
《刚刚问世》系列初窥篇-Java+Playwright自动化测试-38-屏幕截图利器-上篇(详细教程)
java·前端·面试