js实现粘贴板功能 (实用)

原文出处:https://blog.csdn.net/qq_24184997/article/details/80769734
第一次写博客,js实现粘贴板方式有
document.exeCommad
window.clipboardData的setData方法
还有使用ZeroClipboard插件

1:通过document提供的exeCommad方法实现粘贴板功能
优点不需要引用外部插件

  • google浏览器(兼容)
  • IE浏览器(兼容)
  • 火狐(兼容)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" onClick='copyUrls(this)' value="方式二">

<script language="javascript">
    function copyUrls(that) {
        let textArea = document.createElement("textarea")
        textArea.style.position = 'fixed'
        textArea.style.top = 0
        textArea.style.left = 0
        textArea.style.width = '2em'
        textArea.style.height = '2em'
        textArea.style.padding = 0
        textArea.style.border = 'none'
        textArea.style.outline = 'none'
        textArea.style.boxShadow = 'none'
        textArea.style.background = 'transparent'
        textArea.value = that.value
        document.body.appendChild(textArea)
        textArea.select()
        try {
            document.execCommand('copy')
        } catch (err) {
            this.throwError('不能使用这种方法复制内容'+err.toString())
        }
        document.body.removeChild(textArea)
    }
</script>
</body>
</html>

exeCommad 还有很多方法,待续

 

2:window.clipboardData的setData方法 

  • google浏览器(不兼容)
  • IE浏览器(兼容)
  • 火狐(不兼容)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<input type="button" onClick='copyUrl()' value="方式一">
<script language="javascript">
    function copyUrl() {
        var clipBoardContent="test";
        window.clipboardData.setData("Text",clipBoardContent);
        alert("复制成功!");
    }
</script>
</body>
</html>

3:通过插件clipboard方式实现 https://github.com/zenorocha/clipboard.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="clipboard.min.js"></script>
</head>
<body>

<input type="button" onClick='copyUrls3(this)' value="方式三" class="btn">

<script language="javascript">
    function copyUrls3(that) {
        var clipboard = new ClipboardJS('.btn', {
            text: function() {
                return that.value;
            }
        });

        clipboard.on('success', function(e) {
            console.log(e);
        });

        clipboard.on('error', function(e) {
            console.log(e);
        });
    }

</script>
</body>
</html>
  • google浏览器(不兼容)
  • IE浏览器(兼容)
  • 火狐(不兼容)

后续加上各个版本的优缺点  


 



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 提供了一种读取和操作用户剪贴板(Clipboard)内容的功能,包括 Edge 浏览器。下面是使用 Edge JavaScript 读取剪贴板内容的方法。 首先,要获取剪贴板内容,我们可以使用 `navigator.clipboard.readText()` 方法。这个方法返回一个 Promise,我们可以通过 then() 方法来处理返回的文本内容。例如: ``` navigator.clipboard.readText() .then(text => { console.log(text); // 在这里处理剪贴板内容 }) .catch(err => { console.error('Failed to read clipboard contents: ', err); }); ``` 在上面的代码中,我们使用 .then() 处理 Promise 的 resolve 结果,获取到剪贴板的文本内容,并在控制台打印出来。如果读取剪贴板内容失败,我们可以使用 .catch() 处理 Promise 的 reject,打印相应的错误信息。 值得注意的是,由于安全问题,读取剪贴板内容需要用户的明确允许。如果用户没有授权或浏览器禁用了对剪贴板的访问,上述代码将会抛出一个错误。 此外,要在 Edge 浏览器中使用上述方法,确保你的浏览器版本是最新的,并且在`<head>`标签中添加`<meta http-equiv="X-UA-Compatible" content="IE=edge">`,以确保使用最新版的 Edge 渲染引擎。 总结起来,使用 Edge JavaScript 读取剪贴板内容的方法是使用 `navigator.clipboard.readText()` 方法,并通过 Promise 的 then() 处理返回的文本内容。记得要处理授权失败和浏览器禁用访问剪贴板的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值