chrome下的自定义的复制、剪切、粘贴、撤销、重做功能

chrome下的自定义的复制、剪切、粘贴、撤销、重做功能

最近做了一个复制剪切粘贴撤销重做功能,即提供一行工具栏,工具栏里有上述按钮,供用户操作使用。在做的过程中也是发现了一下问题:
先来看一下execCommand的兼容性问题
在这里插入图片描述
1.剪切document.execCommand(‘cut’)、复制document.execCommand(‘copy’)、撤销document.execCommand(‘undo’)、重做document.execCommand(‘redo’)在chrome下支持性还是挺好的,即使是在XP系统下支持的chrome49版本也都支持上述操作
2.粘贴document.execCommand(‘paste’)由于安全性等原因,无法执行,只能转换思路,想办法读取到剪贴板的内容,再利用Selection,将获取的内容插入到光标位置,但是这里有个问题,用代码控制粘贴行为后,撤销与重做功能会收到影响(只识别用户通过鼠标右键或键盘快捷键这种主动行为粘贴的内容,不会识别通过Selection执行粘贴动作的行为)
3.如何读取剪贴板的内容?

navigator.clipboard.readText().then(
    clipText => {
      console.log(clipText)
    })

navigator.clipboard有兼容性问题, chrome只在版本66 +支持
在这里插入图片描述
readText()只支持在安全的上下文环境下读取剪贴板内容,即通过https或localhost访问。初次访问时会弹出一个权限框,以便获取继续访问的权限

更多有关clipboard的知识请看这里Navigator.clipboard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值