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

项目中要实现分享功能,现在各种接口都关闭了,而且不同的浏览器要使用不同的代码,最后决定直接复制url,然后手动分享

Vue中使用了vue-clipboard2

github地址:https://github.com/Inndy/vue-clipboard2

例子:

1 npm install --save vue-clipboard2

main.js引入

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

组件中的代码:

1 <div class="shareline" v-clipboard:copy="copyUrl" v-clipboard:success="onCopy" v-clipboard:error="onError">
3    <p>复制链接</p>
4 </div>
copyUrl:想要复制的内容,自定义
onCopy:方法,复制成功后操作
onError:方法,复制失败后操作


下面这个也可以
clipboard.js
vue中我最开始用这个了,不知道为什么,点击没有反应
github地址:https://github.com/zenorocha/clipboard.js

例子:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>constructor-node</title>
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7 </head>
 8 <body>
 9     <!-- 1. Define some markup -->
10     <div id="btn" data-clipboard-text="1eqeqweqwe">
11         <span>Copy</span>
12     </div>
13 
14     <!-- 2. Include library -->
15     <script src="../dist/clipboard.min.js"></script>
16 
17     <!-- 3. Instantiate clipboard by passing a HTML element -->
18     <script>
19     var btn = document.getElementById('btn'); 
20     var clipboard = new ClipboardJS(btn);
21     console.log(clipboard)
22     clipboard.on('success', function(e) {
23         console.log(e);
24     });
25 
26     clipboard.on('error', function(e) {
27         console.log(e);
28     });
29     </script>
30 </body>
31 </html>

 

posted @ 2018-09-29 17:08  zhaobao1830  阅读(8803)  评论(0编辑  收藏  举报