Pārlūkot izejas kodu

分享链接使用execCommand做替代方案

cxmo 2 gadi atpakaļ
vecāks
revīzija
4fa0195273
1 mainītis faili ar 17 papildinājumiem un 5 dzēšanām
  1. 17 5
      src/views/chartETA/ChartDetail.vue

+ 17 - 5
src/views/chartETA/ChartDetail.vue

@@ -313,13 +313,25 @@ async function getShareLink(){
     if(!confirmFlag.value) return 
     const linkUrl = `${import.meta.env.VITE_CHART_LINK}?code=${chartInfo.value.UniqueCode}&fromType=share&lang=${currentLang}`
     //console.log('url',linkUrl)
-    try{
-        await navigator.clipboard.writeText(linkUrl)
+    if(navigator.clipboard&&window.isSecureContext){
+         try{
+            await navigator.clipboard.writeText(linkUrl)
+            showToast({message:'复制链接成功',type:'success'})
+        }catch(err){
+            console.log(err);
+            showToast({message:'复制链接失败',type:'fail'})
+        }
+    }else{
+        const input = document.createElement('input')
+        input.setAttribute('readonly','readonly')
+        input.value = linkUrl
+        document.body.appendChild(input)
+        input.select();
+        document.execCommand('copy');
+        document.body.removeChild(input);
         showToast({message:'复制链接成功',type:'success'})
-    }catch(err){
-        console.log(err);
-        showToast({message:'复制链接失败',type:'fail'})
     }
+   
 }
 function checkChartEnOption(){
     if(!chartInfo.value.ChartNameEn) return false