原生的js 复制接口 execCommand('copy')

本文介绍了JavaScript中用于复制的原生接口execCommand('copy'),虽然存在跨浏览器兼容性问题,但在IE上可用。通过创建不可见的input元素并利用select()方法,可以实现内容复制。当execCommand('copy')不被支持时,可以捕获异常。参考了MDN和StackOverflow的相关讨论。
摘要由CSDN通过智能技术生成

第一个接口:原生的接口 

很遗憾,这个接口不能cross-browsers , 只能在ie上使用.不用担心,后面会介绍一个受到限制,但是兼容性在提高的接口 execCommand('copy')

document.addEventListener('copy', function(e){
    e.clipboardData.setData('text/plain', 'Hello, world!');
    e.clipboardData.setData('text/html', '<b>Hello, world!</b>');
    e.preventDefault(); // We want our data, not data from any selection, to be written to the clipboard
});

因为不兼容问题,所以一些大神想出了一个小tricks,但是仍然解决不了需求.

The clipboard manipulation is not cross-browser. For cross-browser solution you need flash

stackoverflow 大神的说法是

function copyToClipboard(text) {
   
  window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
弹出一个即时的弹框,但是我希望点击复制以后,就可以黏贴了,不要再手动复制一遍的时候,这个trick就没有办法了.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值