1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue项目实现复制内容到剪切板

vue项目实现复制内容到剪切板

时间:2022-10-21 19:40:08

相关推荐

vue项目实现复制内容到剪切板

vue项目实现复制内容到剪切板

介绍vue项目中实现复制内容到剪切板的两种实现方式:

1、execCommand(‘Copy’)方法:

(function () {document.oncopy = function (e) {e.clipboardData.setData('text', '要复制的内容');e.preventDefault();document.oncopy = null;}})('要复制的内容');document.execCommand('Copy');

2、clipboardData.setData()方法:

先判断是否支持clipboardData,再通过clipboardData的setData方法执行复制操作。

if (window.clipboardData) {window.clipboardData.setData('text', '要复制的内容');}

两种方式结合使用可以增加各浏览器的兼容性:

(**备注:**这两种方式在window系统的PC端浏览器中可以实现,在安卓手机中测试也可行,在IOS手机无效,IOS系统电脑未测,估计也不行。)

3、第三方插件vue-clipboard2实现:

安装vue-clipboard2:

npm install vue-clipboard2

main.js文件中引入:

vue2引入:

import Vue from 'vue'import VueClipboard from 'vue-clipboard2'Vue.use(VueClipboard )

vue3引入:

import { createApp } from 'vue'import VueClipboard from 'vue-clipboard2'const app = createApp(App)app.use(VueClipboard)

使用:

this.$copyText('要复制的内容').then(function (e) {console.log('【复制成功】', e)}, function (e) {console.log('【复制失败】', e)})

**(**备注:vue-clipboard2方式在安卓手机、window系统PC端浏览器、IOS手机浏览器中使用都有效,IOS电脑及平板未测)

有个小问题:this.$copyText()方法触发时,如果是点击事件触发都是复制成功,如果是setTimeout延时自动触发的方式,设置延时时间超过4秒时会复制失败。不知道是啥原因,有兴趣的工友可以研究下源码,欢迎留言解惑!!!!!!!

如果对你有帮助,记得点个赞噢(~~)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。