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>

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

相关推荐
踏着七彩祥云的小丑1 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid1 小时前
Python12(网络编程)
开发语言·网络·php
小李子呢02112 小时前
前端八股CSS(2)---动画的实现方式
前端·javascript
W23035765732 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090012 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳2 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...3 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102163 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
GreenTea3 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端