關于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.pswp.cn/diannao/85143.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85143.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85143.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SAP Business One:無錫哲訊科技助力中小企業數字化轉型的智慧之選

數字化轉型&#xff0c;中小企業的必經之路 在當今競爭激烈的商業環境中&#xff0c;數字化轉型已不再是大型企業的專利&#xff0c;越來越多的中小企業開始尋求高效、靈活的管理系統來優化業務流程、提升運營效率。作為全球領先的企業管理軟件&#xff0c;SAP Business One…

【孫悟空喝水】2022-2-7

緣由C編程問題求解:9634: 孫悟空喝水-編程語言-CSDN問答 void 孫悟空喝水() {//緣由https://ask.csdn.net/questions/7639865?spm1005.2025.3001.5141int x 2&#xff0c; n 0; double s 0, ss 0;std::cin >> n;while ((int)s < n)s 1.0 / x, ss (x - 1.0) / …

OCC筆記:BRepMesh_IncrementalMesh的使用

1. 函數接口 2. 線性偏轉與角度偏轉 2.1. theLineDeflection&#xff1a;線性偏轉 根據文檔推導下 isRelative傳入Standard_True時&#xff0c;theLineDeflection為相對值。 參看isRelative說明 //! param isRelative if TRUE deflection used for discretization of //! ea…

Visual Studio+SQL Server數據挖掘

這里寫自定義目錄標題 工具準備安裝Visual studio 2017安裝SQL Server安裝SQL Server Management Studio安裝analysis service SSMS連接sql serverVisual studio新建項目數據源數據源視圖挖掘結構部署模型設置挖掘預測 部署易錯點 工具準備 Visual studio 2017 analysis servi…

如何遷移SOS數據庫和修改sos服務的端口號

一. 遷移SOS數據庫。 1. 對SOS整個庫進行拷貝。壓縮拷貝等都可以 2. 找到SOS安裝目錄下的這個目錄 /SOS7/SERVERS7/LOCAL/ 在此目錄下會發現&#xff0c;有SOS服務庫的文件夾。拷貝你要遷移的SOS數據庫 3. 進入該文件夾&#xff0c;找到&#xff1a;serverdb.cfg 打開后&…

Oracle向PG轉移建議以及注意點

Oracle向PG轉移建議以及注意點 ? 一、語法差異與遷移建議 1. 包結構&#xff08;Package&#xff09; Oracle 支持 PACKAGE 和 PACKAGE BODY 分離定義。PostgreSQL 不支持包結構&#xff0c;需將每個函數/過程單獨定義。 遷移建議&#xff1a; 將 PACKAGE 包中的每個函數…

PCIe-PCI、PCIe中斷機制概述

PCI、PCIe中斷概述 PCIe 中斷機制在繼承 PCI 傳統中斷&#xff08;INTx&#xff09;的基礎上&#xff0c;引入了更高效的 MSI/MSI-X 方案&#xff0c;以提升設備性能并減少 CPU 輪詢開銷。以下是核心要點及技術演進&#xff1a; ?? ??一、PCIe 中斷類型與演進?? ??IN…

改進自己的圖片 app

1. 起因&#xff0c; 目的: 前面我寫過一個圖片 app &#xff0c; 最新做了些改動。 把原來的一列&#xff0c;改為3列&#xff0c; 繼續使用瀑布流手機上使用&#xff0c;更流暢&#xff0c;橫屏顯示為2列。 2. 先看效果 3. 過程: 過程太細碎了&#xff0c;這里只是做一下…

【HTML-15】HTML表單:構建交互式網頁的基石

表單是HTML中最強大的功能之一&#xff0c;它允許網頁收集用戶輸入并與服務器進行交互。無論是簡單的搜索框、登錄頁面&#xff0c;還是復雜的多步驟調查問卷&#xff0c;表單都是實現這些功能的核心元素。本文將深入探討HTML表單的各個方面&#xff0c;幫助您構建高效、用戶友…

關于智能體接入后端,在Apifox能夠傳參數給智能體的測試

from flask import Flask, request, jsonify, render_template import requests import json # 用于解析嵌套的 JSON 字符串app Flask(__name__)COZE_BOT_ID 7508736911423963162 COZE_API_KEY pat_cHXqrFzcvtktfmmlp4pjF3O2qmjioQW46uU8UNbUugyvSlFZclklpunc53DbR8ws COZE…

SQL進階之旅 Day 8:窗口函數實用技巧

【SQL進階之旅 Day 8】窗口函數實用技巧 在現代數據庫開發中&#xff0c;處理復雜的業務邏輯和大規模數據時&#xff0c;僅僅依靠傳統的GROUP BY和JOIN操作已經無法滿足需求。**窗口函數&#xff08;Window Function&#xff09;**作為SQL標準的一部分&#xff0c;為開發者提供…

編譯rustdesk,使用flutter、hwcodec硬件編解碼

目錄 安裝相應的環境安裝visual studio安裝vpkg安裝rust開發環境安裝llvm和clang編譯源碼下載源碼使用Sciter作為UI的(已棄用)使用flutter作為UI的(主流)下載flutter sdk橋接靜默安裝最近某desk免費的限制越來越多,實在沒辦法,平時遠程控制用的比較多,只能用rustdesk了,…

由反匯編代碼確定結構體的完整聲明

C程序中遇到下面的代碼 typedef struct {int left;a_struct a[CNT];int right; } b_struct;void test( int i, b_struct *bp) {int nbp->leftbp->right;a_struct *ap&bp->a[i];ap->x[ap->idx]n; } 下面是test函數的反匯編代碼 結合C程序中的代碼與test函數…

鴻蒙OSUniApp復雜表單與動態驗證實踐:打造高效的移動端表單解決方案#三方框架 #Uniapp

UniApp復雜表單與動態驗證實踐&#xff1a;打造高效的移動端表單解決方案 引言 在移動應用開發中&#xff0c;表單處理一直是一個既常見又具有挑戰性的任務。隨著HarmonyOS生態的蓬勃發展&#xff0c;越來越多的開發者開始關注跨平臺解決方案。本文將深入探討如何使用UniApp框…

Python學習(2) ----- Python的數據類型及其集合操作

在 Python 中&#xff0c;一切皆對象&#xff0c;每個對象都有類型。下面是 Python 中的常見內置類型分類和示例&#xff1a; &#x1f7e1; 1. 數字類型&#xff08;Numeric Types&#xff09; 類型說明示例int整數5, -42float浮點數3.14, -0.5complex復數1 2j a 10 …

深入解析Go語言數據類型:從底層到高級應用

引言 Go語言的數據類型系統設計體現了??簡潔性??與??高效性??的完美平衡。作為靜態編譯型語言&#xff0c;Go提供了豐富的數據類型支持&#xff0c;從基礎數值類型到高級并發原語&#xff0c;都經過精心設計。本文將深入剖析Go語言數據類型體系&#xff0c;揭示其底層…

數據交易場景的數據質量評估

在現代數字化時代&#xff0c;數據已成為推動商業發展的核心驅動力。基于不同的交易產品和業務場景&#xff0c;數據產品的質量和準確性直接影響到數據資產的價值及其在市場中的流通性。因此&#xff0c;為數據產品提供全面、深入的數據質量評估報告&#xff0c;不僅有助于提升…

Java 對接 Office 365 郵箱全攻略:OAuth2 認證 + JDK8 兼容 + Spring Boot 集成(2025 版)

&#x1f6a8; 重要通知&#xff1a;微軟強制 OAuth2&#xff0c;傳統認證已失效&#xff01; 2023 年 10 月起&#xff0c;Office 365 全面禁用用戶名 密碼認證&#xff0c;Java 開發者必須通過OAuth 2.0實現郵件發送。本文針對 CSDN 技術棧&#xff0c;提供從 Azure AD 配置…

一文詳談Linux中的時間管理和定時器編程

&#xff08;目錄&#xff09; 先說一些在計算機中需要用到時間的地方&#xff1a;系統日志log、OS調度(時間片、定時器)等等~~ 時間的計量 計時的方式發展&#xff1a;日晷、沙漏 -> 機械鐘 -> 石英振蕩器、晶振 -> 銫原子鐘 -> 氫原子鐘 計算機中的計時方式&…

使用FastAPI+Sqlalchemy從一個數據庫向另一個數據庫更新數據(sql語句版)

from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker # 配置數據庫連接&#xff08;示例為PostgreSQL->MySQL&#xff09; SRC_DB_URL postgresql://user:passsource_host:5432/source_db DST_DB_URL mysqlpymysql://user:passdest_hos…