当前位置: 首页 > article >正文

关于ios点击分享自动复制到粘贴板的问题

前言

Android 系统没有什么特别的要求,实现这个也比较容易。但ios在某些情况下就会出现问题。

  1. 如果ios是点击之后,请求接口,再把接口的内容赋值给粘贴板肯定行不通,会被ios系统拦截,导致赋值失败或者赋值为空。
  2. 建议使用第三方库clipboard.js来实现粘贴板赋值
  3. 将点击的dom设置为一个button最好实现。
<!-- 辅助copy的button Android不需要被用户查看 -->
<button id="copy-share" ref="copyBtn" v-show="showBtn">Copy to clipboard
</button>import ClipboardJS from 'clipboard';const copyBtn = ref('')
const showBtn = ref(false)
const handleShareLink = async () => {// 这是一个异步函数const res = await shareLinkGenerate({...})if(res) {copyBtn.value.setAttribute('data-clipboard-text', res); // 并且将这个res的结果,赋值给这个按钮var clipboard = new ClipboardJS('#copy-share'); // 如果请求成功了 让clipboard 和按钮绑定clipboard.on('success', function(e) {  // 成功的回调showSuccessToast('分享链接已复制');e.clearSelection();});clipboard.on('error', function(e) { // 和失败的回调showToast('复制失败');e.clearSelection();});//判断是不是ios系统或者苹果系列if (navigator?.userAgent?.match(/(iPhone|iPod|iPad);?/i)) {// 控制让一个按钮出现,或者弹一个按钮出来,让用户再点击这个按钮一次showBtn.value = truereturn} else {// 如果不是苹果,就可以直接赋值给剪贴板了copyBtn 就是对应的按钮const handleCopy = () => {if(copyBtn.value) {copyBtn.value.click()}}setTimeout(() => {handleCopy()},1000)	}}
}
http://www.lryc.cn/news/2395403.html

相关文章:

  • Hive的JOIN操作如何优化?
  • React Native 实现抖音式图片滑动切换浏览组件-媲美抖音体验的滑动式流畅预览组件
  • 睿抗机器人开发者大赛CAIP-编程技能赛-历年真题 解题报告汇总 | 珂学家
  • 【c++】【数据结构】AVL树
  • 【原神 × 插入排序】刷圣遗物也讲算法:圣遗物评分系统背后的排序逻辑你真的懂吗?
  • ORB-SLAM2学习笔记:ExtractorNode::DivideNode和ORBextractor::DistributeOctTree函数详解
  • nt!MmMapViewInSystemCache函数分析PointerPte的填充
  • 3D Tiles高级样式设置与条件渲染(3)
  • 通义灵码深度实战测评:从零构建智能家居控制中枢,体验AI编程新范式
  • 头歌之动手学人工智能-Pytorch 之优化
  • 基于谷歌ADK的智能客服系统简介
  • (一)视觉——工业相机(以海康威视为例)
  • DAY 36 超大力王爱学Python
  • 基于React + TypeScript构建高度可定制的QR码生成器
  • DeepSeek进阶教程:实时数据分析与自动化决策系统
  • visual studio 2022 初学流程
  • SRD-12VDC-SL-C 继电器‌接线图解
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的企业组织生态化重构研究
  • 前端面经 两栏布局
  • 2,QT-Creator工具创建新项目教程
  • 《深入解析SPI协议及其FPGA高效实现》-- 第一篇:SPI协议基础与工作机制
  • 2025年5月6日 飞猪Java一面
  • ​​技术深度解析:《鸿蒙5.0+:AI驱动的全场景功耗革命》​
  • Nodejs+http-server 使用 http-server 快速搭建本地图片访问服务
  • Zsh/Bash Conda设置延迟启动,启动速度优化
  • 【AI论文】推理语言模型的强化学习熵机制
  • Java中的JSONObject详解:从基础到高级应用
  • Ubuntu22.04 安装 IsaacSim 4.2.0
  • 子串题解——和为 K 的子数组【LeetCode】
  • 深入理解设计模式之访问者模式