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>

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

相关推荐
玉米Yvmi2 分钟前
从零理解 CSS 弹性布局:轻松掌控页面元素排布
前端·javascript·css
西洼工作室2 分钟前
前端js汉字手写练习系统
前端·javascript·css
辞旧 lekkk3 分钟前
【c++】c++11(上)
开发语言·c++·学习·萌新
程序员阿鹏5 分钟前
SpringBoot自动装配原理
java·开发语言·spring boot·后端·spring·tomcat·maven
程序员爱钓鱼6 分钟前
Node.js 编程实战:CSV&JSON &Excel 数据处理
前端·后端·node.js
彭世瑜7 分钟前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
RAY_01049 分钟前
Python—数据可视化pyecharts
开发语言·python
徐同保9 分钟前
n8n+GPT-4o一次解析多张图片
开发语言·前端·javascript
春日见13 分钟前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
DanyHope16 分钟前
LeetCode 128. 最长连续序列:O (n) 时间的哈希集合 + 剪枝解法全解析
前端·leetcode·哈希算法·剪枝