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

详细介绍:关于ios点击分享自动复制到粘贴板的问题

详细介绍:关于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.jsqmd.com/news/9239/

相关文章:

  • 新一代数据平台替代传统大数据技术栈
  • 攻击者如何绕过macOS内置安全防护机制
  • Python趣学篇:交互式词云生成器(jieba + Tkinter + WordCloud等) - 指南
  • 详细介绍:JVM——从JIT到AOT:JVM编译器的云原生演进之路
  • deep-agents
  • 在A列连续且相等行的最后插入空行,并求和
  • 10.6集训改错
  • @Prometheus 监控-MySQL (Mysqld Exporter) - 教程
  • 详细介绍:基于开源AI大模型与AI智能名片的S2B2C商城小程序源码优化:企业成本管理与获客留存的新范式
  • 详细介绍:第7章 :面向对象
  • AI元人文:走向人机价值共生的文明新范式
  • 终于知道酷睿Ultra X什么意思了!满血12核心核显
  • 实用指南:【机器学习基础】机器学习入门核心算法:层次聚类算法(AGNES算法和 DIANA算法)
  • CSP-J 第二轮集训 :总结 + 专题细分精讲_from_黄老师
  • [Python] struct.unpack() 用法详解 - 指南
  • 软件工程第一次随笔 - Nicholas
  • UV使用
  • CT5120 Intro to Natural Lang. Processing Lab # 4. Text Classification
  • 动手实验——mybatis generator
  • 迅速了解GO+ElasticSearch
  • 学生管理系统面向对象分析报告
  • 荷兰青少年通过Telegram被招募,涉嫌参与俄罗斯支持的黑客活动
  • Moscow International Workshops 2017. Day 4. Lviv NU Contest, GP of Ukraine
  • 云原生架构的演进与落地:重塑企业 IT 的核心能力 - 实践
  • 小代码使用npm包的方法
  • Kubernetes(K8s)核心架构解析与实用命令大全 - 教程
  • mzoj 2025/10/6
  • 在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 创建
  • 实验作业1-8 陆绎
  • 全源最短路 Johnson算法