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>

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

相关推荐
cxxcode2 分钟前
前端模块化发展
前端
SmartRadio4 分钟前
进一步优化CH585M的低功耗模式
c语言·开发语言·单片机·嵌入式硬件·物联网
不务正业的前端学徒6 分钟前
docker+nginx部署
前端
Renhao-Wan8 分钟前
Java 并发基石:AQS (AbstractQueuedSynchronizer)
java·开发语言
不务正业的前端学徒11 分钟前
webpack/vite配置
前端
SweetCode17 分钟前
【无标题】
开发语言·c++·算法
shughui22 分钟前
Python基础面试题:语言定位+数据类型+核心操作+算法实战(含代码实例)
开发语言·python·算法
hhcccchh27 分钟前
学习vue第八天 Vue3 模板语法和内置指令 - 简单入门
前端·vue.js·学习
yyf1989052530 分钟前
Vue 框架相关中文文献
前端·javascript·vue.js
No0d1es33 分钟前
2025年12月电子学会青少年软件编程Python六级等级考试真题试卷
开发语言·python·青少年编程·等级考试·电子学会