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>

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

相关推荐
wangruofeng5 小时前
终端里 rm 一下文件就没了,macOS 怎么删文件才进废纸篓
javascript·命令行·apple
小妖6665 小时前
React input 输入卡顿问题
前端·javascript·react.js
এ慕ོ冬℘゜5 小时前
JavaScript 数据类型检测与转换、运算符超全实战详解
前端·html
无足鸟ICT5 小时前
【RHCA+】bash命令
linux·开发语言·bash
kyriewen5 小时前
我用 AI 写代码快了 3 倍——然后同事的 Code Review 全变成了我的
前端·程序员·ai编程
方华世界5 小时前
企业级Java AI Agent应用平台
java·开发语言·人工智能
ujainu小6 小时前
原生性能优化:6变量实现高效桥接
开发语言·华为·性能优化·harmonyos
李明卫杭州6 小时前
Vue2 portal-target 组件与 Vue3 的针对性优化
前端·javascript·vue.js
甄同学6 小时前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
张3236 小时前
Go语言基础 Map 函数值 闭包
开发语言·golang