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>

阅读剩余部分

相关阅读 >>

如何使用插件数字滚动插件numberanimate.js?

值得一个的5个强大的HTML5api 函数

HTML5原生拖拽操作实例讲解

新增HTML5的八类input输入

通过h5实现拍照功能的实例详解

音乐播放器的制作实例(HTML5

HTML5 什么是prefetch/prerender?介绍HTML5 中prefetch/prerender

HTML5 实现如何将两个矩形相互叠加

常用的HTML5列表标签

详解HTML5的video标签测试应用

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




打赏

取消

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

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

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

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

评论

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