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>

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

相关推荐
李姆斯12 小时前
为啥Agent在coding表现这么好,但是在别的领域就是差的不少?
前端·agent·ai编程
李妍.12 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy12 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
AI_小站13 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
felixking13 小时前
C++20 协程
开发语言·c++·协程
鱼与宇14 小时前
前端Web(html+css+js+vue3)
前端
Zane19941215 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
码农颜16 小时前
6.3 主函数流程剖析
开发语言·php
雪芽蓝域zzs16 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
TheBestRucy16 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python