复制粘贴功能 :H5或vue或uniapp

11 篇文章 0 订阅

1.原生的浏览器复制方式,一般都是在浏览器上使用

单独定义一个h5-copy.js文件。用于复用 复制粘贴功能

h5-copy.js

export default function h5Copy(content) {
  console.log(content);
  if (!document.queryCommandSupported('copy')) {
    // 不支持
	uni.showToast({
		title:'您当前的应用环境不支持自动复制内容......',
		icon:'none'
	})
    return false
  }
  
  let textarea = document.createElement("textarea")
  textarea.value = content
  textarea.readOnly = "readOnly"
  document.body.appendChild(textarea)
  textarea.select() // 选择对象
  textarea.setSelectionRange(0, content.length) //复制的内容的范围 
  let result = document.execCommand("copy") // 执行浏览器复制命令
  textarea.remove()
  return result
 
}

然后在文件中使用

<template>
	<view>
		<button type="primary" size="mini" @click="copy">文字复制</button>
	</view>
</template>

<script>
    import h5Copy from '@/utils/h5-copy.js'
    
	export default {
		data() {
			return {
				
			};
		}, 
        methods:{
            copy(){
                // #ifdef H5
                let res = h5Copy('传入要复制的内容')
                if (res) {
                    uni.showToast({
                        title:'复制成功',
                        icon:"success"
                    })
                	//window.location.href = "weixin://";
                } else {
                	uni.showToast({
                	    title:'复制失败',
                	    icon:"none"
                	})
                }
                // #endif   
                
               // #ifdef APP-PLUS
                uni.setClipboardData({
                    data: '要复制的内容',
                    success: () => {
                        //复制成功之后的回调 do something here
                        uni.showToast({
                            title: '复制成功'
                        })
                    },
                    fail: () => {
                        //复制失败之后的回调 do something here
                        uni.showToast({
                            title: '复制失败',
                            icon: "none"
                        })
                    }
                });
                // #endif
            }
        }
	}
</script>

<style lang="scss"></style>

如果要是在uniapp中使用app与h5 同时都实现复制粘贴功能的话:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值