Navigator clipboard介绍与使用

概述

Navigator.clipboard对象提供了系统剪贴板读写访问能力,用以取代document.execCommand(),后者存在一些问题,如浏览器兼容性不一致、安全性问题和缺乏语义化,W3C 已将其从规范中移除。

所有 Clipboard API 方法都是异步的,并且返回一个Promise对象,在剪贴板访问完成后被兑现;如果剪贴板访问被拒绝,promise 对象会被拒绝。

方法

  • read() : 从剪贴板读取数据,返回一个 promise 对象,在检索到数据后,promise 将兑现一个ClipboardItem对象的数组来提供剪切板数据

  • readText(): 从剪贴板读取文本数据,返回一个 promise 对象,在检索到文本后,promise 将兑现一个字符串

  • write():写入任意数据到操作系统的剪贴板中,这是一个异步操作

  • writeText(): 写入文本数据到操作系统的剪贴板中,待文本被完全写入剪贴板后,返回的 promise 将被兑现

示例如下:

navigator.clipboard.writeText(text).then(
  () => {
    ElMessage.success("复制文本成功");
  },
  (err) => {
    console.log("🚀 ~ copyText ~ err:", err);
  }
);

注意事项

navigator.clipboard在 https 协议下才能使用,或者安全域下才能使用。

安全域包括https,localhost127.0.0.1localhost:3000等。因此在使用前我们需要判断,同时也可以通过windows.isSecureContext属性来判断当前是否为安全域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jinuss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值