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>

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

相关推荐
补码缩写2 分钟前
视频跳转触发了seeked,画面就到位了吗
前端
库拉镜像AI牛牛7 分钟前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
不可能片场16 分钟前
内容运营自动化 用相似度拦住撞车选题
前端·electron
静默回滚17 分钟前
视频进度条跳回去,先别改事件监听
前端
米多科技20 分钟前
让 AI 走进我的 3D 世界:一个 MCP server 的完整实现
javascript
Wang's Blog21 分钟前
Java框架 SpringCloud 快速入门: 服务拆分之服务远程调用
java·开发语言·spring cloud
Lank_M21 分钟前
MP4和WebM导出后为何起播与拖动不同
前端
努力努力再努力wz22 分钟前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
用户55084929025624 分钟前
前端本地存储怎么选:Cookie、localStorage、sessionStorage、IndexedDB 的取舍
前端
用户55084929025624 分钟前
Git 日常命令与分支协作流程:从提交到合并的实战梳理
前端