clipBoardEvent, execCommand等粘贴板相关研究

本文探讨了在Web开发中如何利用execCommand和clipBoardEvent来处理粘贴板内容,尤其是在尝试实现手机与PC文件互传的场景下。尽管execCommand('copy')可用于复制,但由于安全原因,无法直接通过JS实现粘贴功能。Firefox支持clipBoardEvent,但其他浏览器不支持,且模拟粘贴事件无法访问系统粘贴板内容。目前,Web中粘贴功能仍存在限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

这几天想研究一个手机与PC互传文件的WEB,构想是通过一个页面,以最简便的方式,各自可以把粘贴板内的内容读取出来,传递给对方。折腾许久,除了读取粘贴板内容,其他的都已经实现。于是研究起来。

execCommand

想起前一段做的CHROME扩展,那时研究的不够彻底,断言无法使用粘贴板。如果那时跳入execCommand这个坑,研究明白,就不会有今天的折腾。
首先 execCommand('copy') 是可以完成复制的,只要先设置选定区域。百般尝试,execCommand('paste') 是无法使用的,经过GOOGLE了许多官方文档,此方法暂时是无法实现的,也就是说,粘贴当前粘贴板的内容,是无法使用JS代码实现的,只有使用CTRL + V右键菜单里的粘贴
具体可见CANIUSE里的PASTE事件各浏览器支持列表W3C cliPboard Api draft

P.S. 补充一点,execCommand(‘copy’)必须由用户实际操作才能触发,比如放在函数体内,绑定在按钮上;而且通过模拟DOM点击,是无法触发复制效果的。

<
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值