Html5剪切板功能的实现


本文摘自PHP中文网,作者不言,侵删。

本篇文章主要介绍了Html5剪切板功能的实现代码,内容挺不错的,现在分享给大家,也给大家做个参考。

最近使用Vue开发Line(日韩的一款类似中国微信平台)的内嵌H5.里面的有一个需求就是将当前链接粘贴,然后发送到pc端,在电脑上进行打开。所有搜集找到了一下几种情况:

1.不带input输入框的原生js方法

这种情况适用于复制非输入框中的文本到剪切板

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<h1 id="content">被复制的内容</h1>

 <button id="button">点击复制</button>

 

 <script>

    (function(){

        button.addEventListener('click', function(){

            var copyDom = document.querySelector('#content');

            //创建选中范围

            var range = document.createRange();

            range.selectNode(copyDom);

            //移除剪切板中内容

            window.getSelection().removeAllRanges();

            //添加新的内容到剪切板

            window.getSelection().addRange(range);

            //复制

            var successful = document.execCommand('copy');

 

            try{

                var msg = successful ? "successful" : "failed";

                alert('Copy command was : ' + msg);

            } catch(err){

                alert('Oops , unable to copy!');

            }

        })

    })()

</script>

2.带输入框的原生js方法

用于复制input,textarea中的文本

1

2

3

4

5

6

7

8

9

10

11

<input type="text" id="input" value="17373383"> <br>

<button type="button" id="button">复制输入框中内容</button>

<script>

    (function(){

        button.addEventListener('click', function(){

            input.select();

            document.execCommand('copy');

            alert('复制成功');

        })

    })()

</script>

这种方法也可以进行延深,充当和方法1一样的用途。动态创建一个input输入框,将其内容置为想复制的内容,最后在将其移除或者隐藏即可。

3.js复制内容到剪贴板插件(clipboard.js)

clipboard.js官网
clipboard.js CDN地址

引用方式:
NPM npm install --save clipboard
CDN <script src="https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js"></script>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<!--默认是截取.btn中的 data-clipboard-text的属性值-->

<!-- <button class="btn" data-clipboard-text="3">Copy</button> -->

 

<!--截取input输入框中的值-->

<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">

 

<!-- Trigger -->

<button class="btn" data-clipboard-target="#foo">

    <img src="assets/clippy.svg" alt="Copy to clipboard">

</button>

 

<script src="https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js"></script>

 

<script>

 

    

    var clipboard = new ClipboardJS('.btn');

     

    clipboard.on('success', function (e) {

        console.log(e);

    });

    clipboard.on('error', function (e) {

        console.log(e);

    });

     

</script>

阅读剩余部分

相关阅读 >>

h5实现拖拉上传文件

h5之scrollintoview用法详解

HTML5实现拖拽功能步骤详解

HTML5标准学习-doctype头部分析

HTML5 video如何实现实时监测当前播放时间(代码)

HTML5中在元素或者选取的文本被拖动时触发的事件ondrag

HTML5 高级教程--拖放 api 实现拖放排序

HTML5中audio支持音频格式的解决方法

分享一个HTML5实现拖放的实例代码

HTML5怎样做出图片转圈的动画效果

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...