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的地理定位怎样使用

HTML5新增标签有哪些?

HTML5新特性之mutation observer代码详解

详解h5和html4的区别

css中display: inline-block的用法解析

解决h5网页中用video标签无法播放mp4视频的方法

h5怎样实现拖放功能

HTML5画布如何设置字体颜色?(代码示例)

h5的filereader分布读取文件应该如何使用以及其方法简介

采用HTML5+signalr2.0(.net)实现原生web视频的代码分享

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




打赏

取消

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

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

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

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

评论

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